views:

28

answers:

2

I have a web project that I want to version in SVN.

SVN is up and running perfectly and I've setup the project repository and got everything imported and branched into a 1.0 version. Work will soon being on a new 2.0 version which will be completely different from the 1.0 version with very little to most likely zero carry-over of any files from 1.0 to 2.0. Is there a way to make the 2.0 a "clean slate" and not negatively effect the 1.0 branch. I haven't taken the plunge and just tried to remove all the files in the trunk hoping SVN will have my back but that seems like the path in front of me. Does anyone have suggestions?

I'm using TortoiseSVN and here's my directory structure:

proj-rep/branches/
proj-rep/tags/
proj-rep/trunk/
+1  A: 

You can just move trunk to somewhere else (such as tags/1.0.final) and make a new trunk (you only want a clean-slate trunk, but keep the old branches and especially the tags).

svn move -m 'tag final 1.0' http://.../trunk http://..../tags/1.0.final

svn mkdir -m 'clean slate for 2.0' http://.../trunk

After that, checkout a fresh working copy with the new (empty) trunk.

This operation is risk-free, subversion keeps track of everything, and you can undo it with some more move/rename commands.

Thilo
That makes perfect sense. I'll give it a shot.
gurun8
Your advise was helpful and spurred me on in the right direction. It was really a matter of culture and selecting a standard approach to directory structure and best practices. Thanks for the help.
gurun8
A: 

Why don't you create a new branch in the repository for version 2.0 based on latest 1.0 you want to start from? That way you checkout the branch_2.0 work on it, commit changes etc. When you need to do something with branch_1.0, you checkout 1.0, work on it, commit changes etc.

Jas