简体   繁体   中英

cvs2svn 2.4.0 - error pass 16 svnadmin

Good afternoon,

Using version 2.4.0-dev on a Linux machine, I am trying to migrate a CVS project to SNV. I had some issues with symbols, and I created a hint rule file based on symbol-info.

Now to my current error. The CVS project is called package. I want to migrate it to SVN under the directory structure svnrepos/sw/package. The svnrepos/sw already exists (along with other projects under svnrepos.

In my option file (created from cvs2svn-example.options), I am using

ctx.output_option = ExistingRepositoryOutputOption(
    r'/var/svn-test', # Path to repository
    #author_transforms=author_transforms,
    )
...
run_options.add_project(
    r'cvs/package',
    trunk_path='sw/package/trunk',
    branches_path='sw/package/branches',
    tags_path='sw/package/tags',
...

I also tried

run_options.add_project(
    r'cvs/package',
    trunk_path='trunk',
    branches_path='branches',
    tags_path='tags',
    initial_directories=[
        r'sw/package'
        ],

with the same error:

----- pass 16 (OutputPass) ----- Starting Subversion Repository. Starting Subversion r1 / 635 Starting Subversion r2 / 635 Starting Subversion r3 / 635 ERROR: svnadmin failed with the following output while loading the dumpfile: svnadmin: E160020: File already exists: filesystem '/var/svn-test/db', transaction '48-1c', path 'sw'

I am at a lost on how to resolve this issue.

Note: My initial tests were using command line arguments with the results that trunk, branches and tags were created in svnrepos/trunk, svnrepos/branches and svnrepos/tags respectively. As I indicated earlier, I want these to be under svnrepos/sw/package

Thanks in advance Daniel

I solved this issue. Essentially the migration has to be done is two steps

1.Use cvs2svn to produce a dump file. In the option file, I used the following

# Use this type of output option if you want the output of the
# conversion to be written to a SVN dumpfile instead of committing
# them into an actual repository.  The author_transforms option is as
# described above:
ctx.output_option = DumpfileOutputOption(
#    dumpfile_path=r'/path/to/cvs2svn-dump', # Name of dumpfile to create
    dumpfile_path='packageDump',
    #author_transforms=author_transforms,
    )

Note that the path for trunk, tags, and branches also includes a reference to package .

run_options.add_project(
    r'cvs/package',
    trunk_path='package/trunk',
    branches_path='package/branches',
    tags_path='package/tags',

As I mentioned in the original message, there were some symbol issues, and I created a symbol hint file where svn-path points to my desired package directory. For example

0 tag_pk_1_0_0 tag package/tags/pk_1_0_0 .trunk.

2: Use svnadmin load to load the generated dumpfile onto svn

svnadmin load --parent-dir sw /var/svn-test < packageDump

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM