我应该使用窗口管理器或版本控制 - svn删除文件

时间:2009-10-08 17:19:37

标签: svn

我正在使用命令行svn verison 1.4.2来管理我的工作副本。今天,我将一些文件从文件夹A剪切到文件夹B.其中文件夹A已经受版本控制,而文件夹B则没有。

我使用“svn st”来检查状态,并且不出意外地发现文件夹A中的这些文件被标记为“!”。根据red-bean.com的svnbook,这意味着“项目丢失(例如,您在不使用svn的情况下移动或删除了它)。”

我的问题是,删除工作副本中的文件的最佳做法是什么?

最后,我必须逐个使用命令行删除这些文件。

$ svn del FolderA/figures_index.log FolderA/figures_index.ps FolderA/figures_index.dvi FolderA/~$R_Paper_Final.doc

有没有更快捷的方法可以删除此文件夹中的这些文件?

提前谢谢

4 个答案:

答案 0 :(得分:1)

Subversion不支持移动,而是必须复制然后删除文件。因此,答案是使用SVN将文件复制到新位置并从原始位置删除文件。命令行工具包含move命令,可以为您执行此操作。

答案 1 :(得分:0)

除非您编写脚本来运行和删除所需的文件,否则您将无法在命令行上逐个删除它们。

如果您要使用绑定到文件资源管理器的GUI SVN或SVN,您将能够轻松删除多个文件。

尝试Tortoise SVN,它与文件浏览器绑定,允许您选择多个文件,然后右键单击并一次删除几个文件。

答案 2 :(得分:0)

SVN对这个特定话题非常挑剔。我建议您在visual studio中使用ANKHSVN(如果这是您编写代码的地方),这样您就可以在项目/解决方案中移动文件,在资源管理器中移动Tortoise。

答案 3 :(得分:0)

从工作副本移动到非版本控制文件夹时,您应该复制/粘贴(而不是剪切/粘贴),然后使用svn delete(就像您一样)从工作目录中删除文件。

当您将文件从一个版本控制的文件夹移动到同一工作副本中的另一个文件夹时,可以使用svn move,这在功能上等同于svn副本后跟svn delete。

您还可以使用svn move重命名工作副本中的文件。