2010-02-12 126 views
2

如何删除文件&目录(从我的localcopy)已被其他人从svn仓库(服务器)中删除?SVN删除已删除

我想保留我的更改(和添加的文件)不变。通过“我的更改”,我的意思是我添加了一些新文件,但它们尚未处于svn状态(它们具有“?”状态)。

执行“svn update”和“svn stat”后,我得到一个前缀为“?”的文件列表 - 这些文件是我的更改与删除的文件混合在一起。

有什么办法可以删除这些“已删除”文件吗?只有在我没有修改它们的情况下才能删除它们。

回答

1

添加您的修改过的文件使用svn

然后列出所有的状态,找出所有有“?”状态并删除它们。

svn status | grep ^? | xargs rm -v 

诀窍是在版本控制下获取所有新文件,删除“已删除的文件”非常容易。

+0

是的,但是有没有什么办法可以找出我加入的文件,并且是“?”因为他们被删除?是否有任何信息在魔术“.svn”目录中帮助我? 它看起来像我犯了一个很大的错误,而不是“svn add” - 我的文件在更新之前。 – Chris 2010-02-12 09:56:40

+0

至少有一半你的问题可以自动化,一旦你添加你的文件,其余的很容易,反之亦然,一旦你手动删除删除的文件,其余的很容易,你不需要手动 – hhafez 2010-02-13 00:23:11

2

我建议不要在这里想出一个脚本解决方案;最安全的事情是检查每个文件并确定是否需要保存。

您应该能够通过查看以前的修订版并查看文件是否存在来判断哪些文件是新的,哪些是以前版本库中的。