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