将svn从Assembla迁移到Atlassian

时间:2012-05-28 17:41:48

标签: svn assembla

我正在尝试将我的subversion repo迁移到Atlassian。 Atlassian要求导入的repo转储具有与每个项目键的项目同名的根目录。假设Atlassian中的项目密钥是FOOBAR,那么repo转储应包含/ FOOBAR用于所有修订。它还应该包含trunk,branches和tags子目录。

要重写Assembla svn转储,我这样做了:

cat foobar-assembla.dump | svn-dump-reloc "/" "FOOBAR" > foobar-atlassian.dump

然后我尝试了测试它:

svnadmin create test
cat foobar-atlassian.dump | svnadmin load test

这产生了一条错误消息:

svnadmin: File not found: transaction '0-0', path 'FOOBAR/trunk'
 * adding path : FOOBAR/trunk ...

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我认为这是因为转储文件不包含任何会自行创建FOOBAR目录的事务。

尝试在svn mkdir file://$PWD/test/FOOBAR之前运行svnadmin load test

为了给予应有的信用,我从http://dotslashstar.blogspot.com.au/2011/06/svn-hack-insert-missing-trunk-root.html

得到了这个提示

答案 1 :(得分:0)

以下对我有用。

使用文本编辑器关闭所有转换选项:

  1. Node-path: trunk的所有实例替换为Node-path: FOOBAR/trunk
  2. 在创建FOOBAR/trunk的修订版中,在添加FOOBAR/trunk创建FOOBARFOOBAR/branchesFOOBAR/tags的版本之前手动添加条目
  3. 我知道在某些情况下这可能不起作用,例如文件本身发生Node-path: trunk时。但它在这种情况下起作用,应该适用于大多数其他情况。

相关问题