Re: cvs2svn errors

Michael Haggerty <[email protected]> Thu, 13 Feb 2014 09:39:37 +0100
Newsgroups gmane.comp.version-control.subversion.cvs2svn.user
Message-ID <[email protected]>
On 02/12/2014 07:37 PM, Kevin Tsubota wrote:
> I=E2=80=99m new at SVN and am attempting to convert my CVS repository to =
SVN.
>=20
> I do not want to convert everything and thought I could pick and choose
> directories.
>=20
> On the first directory everything works fine.  When I try to convert a
> second directory I get the following error:
>=20
> /ERROR: svnadmin failed with the following output while loading the
> dumpfile:/
>=20
> /svnadmin: E160020: File already exists: filesystem
> '279ab81a-938e-11e3-8307-1bc1b6162cbb', transaction '4498-3gy', path
> '/trunk'/
>
> Here are the commands that I=E2=80=99m using:
>
> =C3=98  /cvs2svn -s /usr/local/svnroot --existing-svnrepos
> /net/cvsserver/local/cvsroot/*kroot/ktl*/
>
> =C3=98  /cvs2svn -s /usr/local/svnroot --existing-svnrepos
> /net/cvsserver/local/cvsroot/*kroot/etc*/

The problem is not that you are picking and choosing directories, but
that you are trying to put the results into a single Subversion
repository.  Suppose your tree looks like

    ktl/file1
    ktl/file2
    etc/file3
    etc/file4

then the first conversion would create the following paths in Subversion:

    trunk/
    trunk/file1
    trunk/file2
    branches/
    tags/

The second conversion would try to create the following paths:

    trunk/
    trunk/file3
    trunk/file4
    branches/
    tags/

The second conversion fails because the path "trunk" already exists.
(If not for this error, it would also fail because of "branches" and "tags"=
.

But the more serious problem is that the two conversions would try to
put their results within the same directory; i.e., even if the two
results could somehow be married together, you would get

    trunk/
    trunk/file1
    trunk/file2
    trunk/file3
    trunk/file4
    branches/
    tags/

rather than having file1 and file2 within a "trunk/ktl" directory and
file3 and file4 within a "trunk/etc" directory, which is presumably what
you want.

There would be further conflicts if files within the two hierarchies
have the same names or if they have branches and/or tags with the same
names.

If all of these directories are a single project, with a shared set of
branches and tags, then there is no reasonable alternative but to
convert them in a single run of cvs2svn.

If these directories are in fact separate projects, with independent
sets of branches and tags, then what you are doing is a "multiproject
conversion".  If you search in the documentation for that term you will
find more information.

> Also, I=E2=80=99ve tried using an options file but get the following erro=
r:
>=20
> =C3=98  /cvs2svn --options=3D../cvs2svn.options/
>=20
> /Traceback (most recent call last):/
> /  File "./cvs2svn", line 70, in <module>/
> /    svn_main(os.path.basename(sys.argv[0]), sys.argv[1:])/
> /  File "/home/cm/cvs2svn-2.4.0/cvs2svn_lib/main.py", line 113, in svn_ma=
in/
> /    main(progname, run_options, pass_manager)/
> /  File "/home/cm/cvs2svn-2.4.0/cvs2svn_lib/main.py", line 96, in main/
> /    pass_manager.run(run_options)/
> /  File "/home/cm/cvs2svn-2.4.0/cvs2svn_lib/pass_manager.py", line 150,
> in run/
> /    the_pass.register_artifacts()/
> /  File "/home/cm/cvs2svn-2.4.0/cvs2svn_lib/passes.py", line 452, in
> register_artifacts/
> /    Ctx().revision_collector.register_artifacts(self)/
> /AttributeError: 'NoneType' object has no attribute 'register_artifacts'/

We can't really help you with this problem unless you show us your
options file.  I can only remind you that you should start with the
example options file that is in the cvs2svn project and edit it to suite
your preferences, and to make sure that the example options file that
you start with is from the exact same version of cvs2svn as the one you
are using for the conversion.

Michael

--=20
Michael Haggerty
[email protected]
http://softwareswirl.blogspot.com/

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=3D1670&dsMessageId=3D=
3072929

To unsubscribe from this discussion, e-mail: [[email protected]=
ris.org].