SVN中是否有全局忽略的概念?

79

有没有一种方法可以为SVN存储库或PC上的SVN客户端设置全局忽略列表?

我使用Tortoise/Ankh/VisualSVN等工具的唯一原因是我只想检入我需要的文件,而不是所有的bin/obj/Resharper之类的东西。

我被.gitignore.hgignore惯坏了,我只需将它们复制到一个存储库中,然后使用git commit -a而不必担心检入垃圾文件。

我知道我可以手动设置它,但这样做很麻烦,而且我认为它还必须应用于每个新创建的文件夹。

在Windows下使用SVN。


3
虽然被接受的答案是有效的,但 bahrep 的答案才是 OP 所问的,并且是更好的工作流程。请查看他的答案,而不是在本地进行操作。 - Chris Hill
1
你尝试过查看 svn propset svn:ignore "*.myextension" . 命令吗? - IgorGanapolsky
1
@IgorGanapolsky,我认为应该是svn propset --recursive svn:ignore "*.myextension" .。然而,这样的忽略不会适用于随后创建的新文件夹。使用svn:global-ignores进行一般性的忽略。 - Wernfried Domscheit
请参阅如何在Subversion中忽略文件?,其中有关于全局忽略的答案。 - idbrii
2个回答

92

在安装Subversion时,会有一个文件存储在以下路径之一:

  • Windows Vista/7/8/8.1/10: C:\Users\<username>\AppData\Roaming\Subversion\config
  • Windows XP: c:\Documents and Settings\<username>\.subversion\config
  • Unix(Linux等), macOS: $HOME/.subversion/config

该文件包含Subversion的全局配置。在[miscellany]部分中,有一个global-ignores参数,您可以使用它设置全局忽略的文件名模式。

Subversion书籍的运行时配置区域部分提供了更多的信息,包括如何在需要时在注册表中设置这些全局配置参数。

典型示例:

[miscellany]
global-ignores = *.o *.so *.so.[0-9]* .DS_Store [Tt]humbs.db

或者,如果你正在过渡到使用Git:

[miscellany]
global-ignores = .git

25
对我来说,它在 %AppData%\Subversion 目录下。 - Joey
1
很酷,这个方法可行。我仍然更喜欢每个代码库一个设置,但这种方式不需要使用propedit,所以在我看来更好。 - Michael Stum
11
如果你使用Subversion 1.8客户端,可以在代码库上使用svn:global-ignores属性。参考链接:http://subversion.apache.org/docs/release-notes/1.8.html#repos-dictated-config - bahrep
7
Mac/Linux用户请前往以下目录进行配置:~/.subversion/config 或 /etc/subversion/config。Windows 用户请在资源管理器中输入 "%appdata%\subversion\config" 进入配置文件所在目录。 - i_a
4
只能在C:\Users\<username>\AppData\Roaming\Subversion路径下找到它。 - Mmmh mmh
Windows Vista/7/8/8.1/10:%appdata%\subversion\config - Герман Борисов

43

有关使用示例,请参见此答案 - idbrii

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接