2011-06-14 37 views
6

说我有一个大的工作目录,我正在清理不再使用的代码段。这个过程的一部分是大量的文件。但是如果我想确保这些文件没有被使用到任何地方,那该怎么办......如果我做了svn commit,它会提交我现在不想测试的所有其他代码更改,如果我尝试svn commit <deleted file list>它说这些文件不受版本控制(我已经对它们做了svn delete)。只提交被删除的文件到颠覆

如何将更改仅提交到svn delete d文件?

回答

15

无法重现。

svn commit <list of svn delete'd files>工作正常。

如果你尝试提交修改到一个已经被svn delete'd并承诺一个文件,你会得到svn: <file> is not under version control错误。列表中有错误的文件吗?

+0

哎哟提交的其他文件,你是完全正确的。我用不正确的语法列出了这些文件。我只用一个文件测试它,它工作正常。谢谢你的回答,我认为这是完全奇怪的不工作。 – bawkstoo 2011-06-15 13:49:09

0

您可以“搁置”您在Subversion中的更改,提交,然后将更改从现成的架构转移到工作目录中。

有关详细信息,请参见http://markphip.blogspot.com/2007/01/shelves-in-subversion.html

请务必阅读整篇文章并了解正在发生的事情(特别注意“更好的方法”部分)。货架不是Subversion的“特色”,但它仍然是可能的。

10

你也可以使用修改列表 http://svnbook.red-bean.com/en/1.5/svn.advanced.changelists.html

首先,删除文件:

$ svn rm path/to/file1 
$ svn rm path/to/file2 

然后,添加这个文件到修改:

$ 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" 

BTW,这种方式可以在零件