假设我有一个庞大的工作目录,我正在清理不再使用的代码段。这个过程的一部分是svn delete
很多文件。但是,如果我想确保这些文件不再在任何地方被使用,那该怎么办...如果我svn commit
它将提交我目前不想测试的所有其他代码更改,如果我尝试svn commit <deleted file list>
它说那些文件不受版本控制(我已经对它们进行了svn delete
)。
如何仅对svn delete
d个文件提交更改?
答案 0 :(得分:15)
无法重现。
svn commit <list of svn delete'd files>
效果很好。
如果您尝试将更改提交到已经svn: <file> is not under version control
并已提交 的文件,则会出现svn delete'd
错误。您的列表中是否有错误的文件?
答案 1 :(得分:11)
您也可以使用更改列表 http://svnbook.red-bean.com/en/1.5/svn.advanced.changelists.html
首先,删除文件:
$ svn rm path/to/file1
$ svn rm path/to/file2
然后,将此文件添加到changelist:
$ svn changelist <listname> path/to/file1 path/to/file2
或
$ svn changelist <listname> path/to/file1
$ svn changelist <listname> path/to/file2
然后您可以提交仅更改列表
$ svn commit --changelist <listname> -m "Comment goes here"
顺便说一下,这样你就可以提交部分中的其他文件了
答案 2 :(得分:0)
您可以在变换,提交中“搁置”您的更改,然后将您的更改从现成的状态恢复到工作目录中。
有关详细信息,请参阅http://markphip.blogspot.com/2007/01/shelves-in-subversion.html。
请务必阅读整篇文章并了解正在发生的事情(特别注意“更好的方法”部分)。搁置不是Subversion的“特征”,但它仍然是可能的。