我希望存储库完全忽略某些文件 - 相当于将这些文件添加到 git 系统中的 .gitignore 。我试过:
svn propset svn:ignore *.aux" .
忽略所有.aux
文件。但是,在这样做并成功之后svn commit
,svn status
仍然显示:
? something.aux
! somethingelse.aux
有没有更强大的方法来告诉它忽略这些文件,这样它们就不会出现在这样的列表中?
我希望存储库完全忽略某些文件 - 相当于将这些文件添加到 git 系统中的 .gitignore 。我试过:
svn propset svn:ignore *.aux" .
忽略所有.aux
文件。但是,在这样做并成功之后svn commit
,svn status
仍然显示:
? something.aux
! somethingelse.aux
有没有更强大的方法来告诉它忽略这些文件,这样它们就不会出现在这样的列表中?
这实际上是一个常见问题,我强烈建议您考虑涵盖它的 SVNBook 章节“忽略未版本控制的项目”。
请参阅解释行为的 SVNBook 的重要摘录:
Subversion 对可忽略文件模式的支持仅扩展到将未版本化的文件和目录添加到版本控制的一次性过程。一旦对象在 Subversion 的控制之下,忽略模式机制就不再适用于它。换句话说,不要期望 Subversion 避免提交您对版本化文件所做的更改,因为该文件的名称与忽略模式匹配——Subversion 总是注意到它的所有版本化对象。
根据svn status
输出,您的工作副本包含一个未版本化的项目(带有“?”符号的那个)和一个缺失的项目(带有“!”符号的那个)。
? something.aux
! somethingelse.aux
因此,您已手动删除(即通过 Windows 资源管理器,但不是通过 SVN 客户端)somethingelse.aux
,它现在处于“丢失”状态。另一个文件something.aux
仍然是未版本化的,不会被忽略。
如果您没有输入错误的svn propset
命令,提交了属性更改并且文件仍然处于未版本控制状态,您可能会发现此摘录很有帮助:
在 svn:ignore 属性中找到的模式仅适用于设置该属性的目录,而不适用于它的任何子目录。
此外,您可以svn:ignore
通过发出svn propget
命令来检查属性。