You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Kim Lester <ki...@dfusion.com.au> on 2003/09/27 07:01:06 UTC

cvs2svn changes for multipath support (Issue 1409)

I have added support for multi-path components into cvs2svn.py.
(issue 1409?)
I've just finished coding and it all looks reasonable (ie doesn't crash :-))
so I'm letting people know. I won't release it until it has been tested
a bit better (ie appears to actually work correctly for my needs).
No promises but it is looking respectable.

It isn't a trivial problem because one has to support what amounts
to a mapping layer between between where the files are in CVS and where they
should appear in SVN and still be consistent with internal copyfrom ops etc.

Because I work with many "projects" in on CVS/SVN tree I needed
to be able to so the following:

  $CVSROOT/path_to_projects/projectA/
						proj. files....
				    projectB/
						...

 TO

  $SVNROOT/trunk/path_to_projects/projectA/
						      proj. files....
					    projectB/
							...

 $SVNROOT/branches/path_to_projects/projectA/
						      BRANCH-1/...
							BRANCH-2/...
					    projectB/
							...

 $SVNROOT/tags/path_to_projects/projectA/
						      RELEASE_1_0/....
							RELEASE_1_1/...
					    projectB/
							RELEASE_1_0/...
							RELEASE_1_1/...

 Recognising that others might need the alternative system
 path_to_projects/trunk/blah
		     /branches/blah
		     /tags/blah

  I've implemented that too.
  cvs2svn.py has 2 new options --root=a/b/..  --subroot=x/y/..
  Note the --tags, --branches, --trunk are not needed and must only be
  single component paths, they are just to change the default names of those directories

  The above would produce in SVN: /a/b/trunk/x/y/blah  and similarly for branches and tags

  My probable use will be  
  foreach project
  {
	 cvs2svn.py --subroot=x/y/$project $CVSROOT/x/y/$project
  }

  Note that I need to do one project at a  time to  prevent common cvs tags from
  being attached to more than one project. ie RELEASE_1_0 for project A has nothing
  todo with RELEASE_1_0 for project B.

  I'd suggest people use wither --root OR --subroot (ie simple repository layout).


  regards
	Kim

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn changes for multipath support (Issue 1409)

Posted by Max Bowsher <ma...@ukf.net>.
Kim Lester wrote:
> I have added support for multi-path components into cvs2svn.py.
> (issue 1409?)
> I've just finished coding and it all looks reasonable (ie doesn't crash
:-))
> so I'm letting people know. I won't release it until it has been tested
> a bit better (ie appears to actually work correctly for my needs).
> No promises but it is looking respectable.

Great! Hard to comment more until you actually post the code, though.

By the way, there is no need to CC me (or kfogel) just because something is
cvs2svn-related. Just post to dev@.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org