将工作SVN工作副本移动到新目录并标记当前签入?

时间:2010-07-13 14:18:22

标签: svn

这个问题来自于之前被SVN焚烧并且因此害怕它的人。所以我有一点问题,因为当我在SVN回购工作时,我很傻。我正在开发一个项目,假设包含一个文件,我刚刚发布作为第一个次要版本。所以我的svn回购看起来像这样:

project/
--> main.py (v1)

请注意,我确实创建了常用的trunkbranchtags文件夹。现在,我需要,但问题是我已经编辑了文件!有没有办法可以解决这个问题:

Hard drive:
project/
--> main.py (v2)

SVN repo:
project/
--> main.py (v1)

到此:

Hard drive and SVN repo:
project/
--> trunk/
    --> main.py (v2)
--> tags/
    --> v1/
        --> main.py (v1)
--> branch/

感谢您的帮助!

PS请注意“切换到git!”是不可接受的答案:)

1 个答案:

答案 0 :(得分:2)

您可以使用svn movecopy命令。他们可以使用URL,这意味着您可以在服务器端进行更改。

您可以使用URL-> URL方法将main.py(v1)复制或移动到tags / v1 /。

svn move --parents http://svn/project/main.py http://svn/project/tags/v1/main.py

然后你可以使用WC-> URL方法将main.py(v2)复制到trunk /。

svn copy --parents main.py  http://svn/project/trunk/main.py

由于您没有目录trunk和tags,您可以使用--parents参数,它将创建路径中缺少的目录。

有关这些命令的详情,请参阅svn help copysvn help move

P.S。以防万一备份您的工作副本。