简体   繁体   English

cvs2svn 2.4.0-错误通过16 svnadmin

[英]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. 我正在Linux计算机上使用2.4.0-dev版本,试图将CVS项目迁移到SNV。 I had some issues with symbols, and I created a hint rule file based on symbol-info. 我在使用符号时遇到了一些问题,并基于Symbol-info创建了一个提示规则文件。

Now to my current error. 现在到我当前的错误。 The CVS project is called package. CVS项目称为包。 I want to migrate it to SVN under the directory structure svnrepos/sw/package. 我想将其迁移到目录结构svnrepos / sw / package下的SVN。 The svnrepos/sw already exists (along with other projects under svnrepos. svnrepos / sw已经存在(以及svnrepos下的其他项目。

In my option file (created from cvs2svn-example.options), I am using 在我的选项文件(从cvs2svn-example.options创建)中,我正在使用

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. -----通过16(OutputPass)-----启动Subversion存储库。 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' 启动Subversion r1 / 635启动Subversion r2 / 635启动Subversion r3 / 635错误:svnadmin在加载转储文件时失败,并显示以下输出:svnadmin:E160020:文件已存在:文件系统'/ var / svn-test / db',事务' 48-1c”,路径“ 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. 注意:我的初始测试使用命令行参数,结果分别在svnrepos / trunk,svnrepos / branches和svnrepos / tags中创建了主干,分支和标签。 As I indicated earlier, I want these to be under svnrepos/sw/package 如前所述,我希望这些文件位于svnrepos / sw / package下

Thanks in advance Daniel 在此先感谢Daniel

I solved this issue. 我解决了这个问题。 Essentially the migration has to be done is two steps 从本质上讲,迁移必须完成两个步骤

1.Use cvs2svn to produce a dump file. 1.使用cvs2svn生成转储文件。 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 . 请注意,主干,标签和分支的路径还包括对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. 正如我在原始消息中提到的那样,存在一些符号问题,并且我创建了一个符号提示文件,其中svn-path指向我所需的软件包目录。 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 2:使用svnadmin load将生成的转储文件加载到svn

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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