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

Re: cvs2svn.py in version 6411

From: Mike Wilcox <mike_at_trouble.org.uk>
Date: 2003-07-10 05:03:35 CEST

kfogel@collab.net wrote:
> Mike Wilcox <mike@trouble.org.uk> writes:
> No troubles expected; you should have gotten tags. When I do
> $ cd tools/cvs2svn
> $ mkdir tmp
> $ cd tmp
> $ ../cvs2svn.py --create -s svnrepos ../test-data/main-cvsrepos/
> $ svn log -v file://`pwd`/svnrepos
> [...]
> $
> ...I get plenty of tags.

The above gave me tags. As an aside, I was a little conerned when I saw
this kind of thing in the output:

<<< Started new txn, based on original revision 38
      * adding path : tags/T_ALL_INITIAL_FILES ...COPIED... done.
      * deleting path : tags/T_ALL_INITIAL_FILES/partial-prune ... done.
      * deleting path : tags/T_ALL_INITIAL_FILES/single-files ... done.

The tag T_ALL_INITIAL_FILES only seems to be used by the "project" proj,
so, while deleting paths related to 2 of the other projects (why not all
other projects?) isn't harmful, I did wonder why it was even necessary.

The problem is almost certainly my understanding about the way in which
your process works through the order a CVS repository has been created.
If you think this is right, it's enough for you to say "its right".

> Thanks. Also, if you can find a small subset of your repository that
> demonstrates the failure to produce tags, I'm eager to see that too!

I've been trying with the repository pruned to a single file, with many
branches & tags. I can process it to get many tags sometimes, and none
at others. It seems to be related to the way I call cvs2svn, and this
brings to mind another problem to report:

1) When converting our CVS repository, I want to split it into 3 SVN
repositories, which means I create the repositories first, then loop for
each subproject in CVS. This was also to try to keep the tags & branches
separate for the different projects.

Conversion of the first project into each svn repository works fine, but
the subsequent ones fail because the loader, prior to creating
'trunk/<proj>', tries to re-create the 'trunk' directory - which now
already exists.

2) Back to this problem... As a workaround to 1), I adjusted my
conversion process to create the SVN repos, then loop through the CVS
repositories, but using the --trunk, --branches and --tags options to
control placement into something akin to the "old" hierarchy.
Afterwards, I later move the created structures back into the "new"
hierarchy of "trunk/<proj>" etc.

It seems that the command option for --branch is causing the problem.
This doesn't produce any tags:

$ ../cvs2svn.py -s svnrepos --trunk=<proj>/trunk
--branches=<proj>/branches --tags=<proj>/tags --no-prune ../cvsroot/<proj>

But these do:

$ ../cvs2svn.py -s svnrepos --trunk=<proj>/trunk --no-prune

$ ../cvs2svn.py -s svnrepos --trunk=<proj>/trunk --tags=<proj>/tags
--no-prune ../cvsroot/<proj>

So, similar to your suggested command at the top, the following fails:
../cvs2svn.py --create -s svnrepos --trunk=test1/trunk
--branches=test1/branches --tags=test1/tags ../test-data/main-cvsrepos/

Hopefully, this will help you fix it. It's beyond my python knowledge
(or cvs2svn knowledge) to attempt a patch.

Back to you later on a test case for the original problem :-)


To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jul 10 05:08:52 2003

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

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