开发者

Move working SVN working copy into new directory and tagging current checkin?

This question comes to you from someone who's been burned by SVN before and am henceforward afraid of it. So I have a little problem because I was stupid when I was working on my SVN repo. I was developing a project, let's say containing one file, that I just released as a first minor version. So my svn repo looked like this:

project/
--> main.py (v1)

Notice, that I did not create the usual trunk, branch, and tags folders as I should've. Now, I need to, but the problem is that I have since edited the file! Is there a way I can go from this:

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

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

to this:

Hard drive and SVN repo:
project/
--> trunk/
    --> main.py (v2)
开发者_如何转开发--> tags/
    --> v1/
        --> main.py (v1)
--> branch/

Thanks for any/all help!

PS Please note that "Switch to git!" is not an acceptable answer :)


You can use svn move and copy commands. They can work with URLs, which means that you can do changes on server-side.

You could copy or move main.py (v1) to tags/v1/ using URL->URL method.

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

Then you can copy main.py (v2) to trunk/ using WC->URL method.

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

Since you don't have the directories trunk and tags, you may use --parents parameter, it will create the directories missing in the path.

See svn help copy and svn help move for more info about these commands

P.S. Just in case make a backup of your working copy.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜