Hi. I have a project that I've been developing for 18 months. There
have been several versions in three branches, all three of which are
all still in active use at this time. The history looks something like
1.0.0 -> 1.0.1 -> 1.0.2 -> 1.0.3 -> 1.0.4 -> 1.0.5 -> 1.0.6
-> 1.1.0 -> 1.1.1 -> 1.1.2 -> 1.1.3 -> 1.1.4
-> 1.2.0 -> 1.2.1 ->
And there will continue to be a few new versions of all three branches.
I've been the only developer on the project, so I have a good overview
of it. The problem, and you'd be right to yell at me for this, is that
all of this was done without the benefit of a source control system --
we only started using Subversion at my company 6 weeks ago.
Now that the next big development stage on this project is about to
begin I'd like to bring it into our Subversion repository. I still have
all the older versions around, so it seems like I'd want to bring them
all into the repository. I'm clear on the structure I'd like to end up
I'm unclear though on the best way to get the data into the repository
so it looks like that. Off the top of my head, I could think of this
way: set up a temporary directory on my computer for the project, and
inside that, make empty branches and tags directories, and put all my
versions into the tags directory, and svn import the whole thing. Then
svn cp the latest 1.0 tag to branch-1.0, the latest 1.1 tag to
branch-1.1, and the latest 1.2 tag to branch-1.2 and trunk, so that I'd
be all set to begin development of 1.3 in trunk. I know this would be
copying in the "other direction" than one usually does it, since you
usually copy from the branch to the tag. Is that a problem? Since the
various tags are all separate directories on my system, I guess that
means they're not cheap copies, which they would have been had this
been done the "normal" way from the beginning. Is that a problem, other
than taking more space in the repository? Any other problems with this
import method? Any better way to do this?
Thanks for your advice.
Received on Mon Apr 4 02:54:24 2005