[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Best way to import old project?

From: Robert Mohr <mohr.42_at_gmail.com>
Date: 2005-04-04 03:18:04 CEST

On Apr 3, 2005 8:51 PM, Ryan Schmidt <subversion-2005@ryandesign.com> wrote:
> 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
> this:
> 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 ->
> 1.2.2
> 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
> with:
> repository
> project
> trunk
> branches
> branch-1.0
> branch-1.1
> branch-1.2
> tags
> tags-1.0.0
> tags-1.0.1
> tags-1.1.0
> etc.
> 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?

Assuming that all branches and tags have the same files (but different
content in those files), you can import the trunk, svn copy it to each
of the branches and tags, and then, without using svn, replace each
branch and tag in the working copy with what you actually want in it.
svn should recognize that the branch is roughly similar to the trunk,
and that will keep your copies "cheap". If a file is in the trunk but
not the branch/tag (or vice-versa), you'll need to remove it using
'svn delete', or add it with 'svn add'.

At least, that's what I did when I started using Subversion.

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Apr 4 03:20:44 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.