gpt4 book ai didi

svn - 如何从 svn 存储库中批量删除文件/目录

转载 作者:行者123 更新时间:2023-12-04 16:21:12 26 4
gpt4 key购买 nike

Using: VisualSVN Server, TortoiseSVN, AnkhSVN



我使用 TortoiseSVN 为我的所有 .NET 项目和我想要保留的支持源/资源进行初始存储库加载。

我计划将 tortoiseSVN 用于所有常规源代码控制操作,并将 AnkhSVN 用于 Visual Studio 解决方案。

我的问题是我的存储库现在有我不需要的开发人员/机器特定的文件/目录。

如果您从 Visual Studio 中将解决方案添加到存储库,我知道 Ankhsvn 通过使用 Microsoft 的 SCC API 不包括它们。

所以我现在需要的是去 从 svn 存储库中删除必要的文件/目录。

这些包括(但我可能会添加更多):
thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk *.msi* .res *.pch *.suo *.exp *.*~ *.~* ~*.* cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj Generated Logs *.csproj.user *.user

如果不一一进行,我怎么能做到?

附加信息:

一个想法是 Micha 提出的 HERE但这必须在移动到存储库之前发生。

最佳答案

我总是建议开发人员在使用 VisualStudio 项目时使用 AnkhSVN 而不要使用 TortoiseSVN。 AnkhSVN 不允许您将私有(private)用户文件 checkin 您的 VIsualStudio 项目。

要删除这些文件,您必须 checkout 存储库才能删除单个文件。现在有办法解决这个问题。对不起...

首先你需要一个 VisualStudio 文件列表 that shouldn't be in your Subversion repository .

然后,您应该获得 Subversion 客户端的 Windows 命令行版本。您可以从 SlikSVN 获取此信息.基于命令行的 Subverison 客户端将允许您以编程方式删除不需要的文件,而无需一次处理一个。

例如,如果您使用 Cygwin它在您的 Windows 系统上提供了一个类似 GNU/Linux 的环境,您可以执行以下操作:

$ svn checkout $repo-project $workdir
$ find $workdir \( -name "*.suo" -o -name "*.csproj.user" \) -exec svn delete {} \;
$ svn commit -m"Removing all VisualStudio private files from repo" $workdir

或者,您可以编写一个简短的 Perl、Python 甚至 PowerShell 程序来为您执行此操作。

如果您不了解 PowerShell,这可能是在 PowerShell 中做的第一个不错的项目。自 XP 以来的所有 Windows 版本都带有 PowerShell。 PowerShell 是一种非常强大的脚本语言——比 Windows Batch 强大得多,甚至比 Bash shell 脚本更强大。哎呀,它在脚本能力方面相当于 Python 或 Perl。我只是不明白为什么它在基于 Windows 的开发站点中很少使用。但是,如果您确实学习了它,您会发现它是处理各种 Windowy 内容的强大工具。 PowerShell 与 Windows 注册表、IIS 和各种系统服务集成。

一旦你删除了所有这些用户文件,你就可以使用这个 Subversion pre-commit让它们永远远离您的 Subversion 存储库。控制文件条目将是这样的:
[FILE You cannot add private user files into a VisualStudio project]
match = VSproject/.*/\.(suo|user|webinfo|dll|exe)$
access = no-add
users = @ALL

关于svn - 如何从 svn 存储库中批量删除文件/目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22532861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com