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].