SVN未忽略文件

5
我希望有一个版本库可以完全忽略某些特定的文件 - 相当于在Git系统中将这些文件添加到.gitignore文件中。我尝试过:
svn propset svn:ignore *.aux" .

忽略所有的 .aux 文件。但是,在进行了此操作并成功执行svn commit之后,svn status仍然显示:
?       something.aux
!       somethingelse.aux

有没有更强的方法告诉它忽略这些文件,以便它们不会显示在类似这样的列表中?

5
查看此链接:http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.ignore.html。 - Oliver Charlesworth
2
我假设你在提到的“svn propset”命令中打错了字。不应该有引号(")符号。 - bahrep
1个回答

2
这是一个常见问题,我强烈建议您考虑阅读SVNBook的章节“忽略未加入版本控制的项目”
以下是来自SVNBook的重要摘录,解释了其行为:

Subversion对可忽略文件模式的支持仅限于将未加入版本控制的文件和目录添加到版本控制的一次性过程。一旦一个对象被Subversion所控制,忽略模式机制不再适用于它。换句话说,不要指望Subversion避免提交您对已加入版本控制的文件所做的更改,只因该文件名与忽略模式匹配 - Subversion总是注意到所有已版本化的对象。

根据svn status输出,您的工作副本包含一个未加入版本控制的项(带有'?'符号)和一个缺失的项(带有'!'符号)
?       something.aux
!       somethingelse.aux

所以你手动删除了(即通过Windows资源管理器,而不是通过SVN客户端)somethingelse.aux文件,现在它的状态为“missing”。另一个文件something.aux仍未版本化,也不会被忽略。

如果您没有输错svn propset命令,提交了属性更改,但该文件仍具有未版本化的状态,则可以找到以下摘录:

svn:ignore属性中的模式仅适用于设置该属性的目录,而不适用于其任何子目录。

此外,您可以通过发出svn propget命令来检查svn:ignore属性。


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