当Repo没有干线/分支/标签结构时,如何从SVN转换为HG?

时间:2012-10-16 14:17:49

标签: svn mercurial migration

我有一个没有主干/分支/标签结构的SVN仓库(不好,我知道......),所以所有项目都直接位于回购中。 当我尝试hg convert时,它说 file:///c/MySvnRepo does not look like a Subversion repository

我尝试创建trunk / branches / tags文件夹并将所有内容移动到主干。然后我得到了一个具有我期望的结构的HG回购,但它的历史从修改开始,我将内容移动到主干。

我还尝试了--config convert.svn.trunk=xy选项,其中xy是空白或任何包含的项目。它仍然流产说“......看起来不像......”

我使用的是Windows 7 64位,SVN 1.7.2,Mercurial 1.9.3

我发现很多问题涉及更复杂的结构,但是对于这种简单的结构没有。也许答案很简单,我看不到它。

任何帮助表示赞赏。提前谢谢!

1 个答案:

答案 0 :(得分:0)

添加hgsubversion扩展并使用相应的URL克隆存储库的任何部分。

从未尝试使用file://协议,但无法查看不同行为的原因,而不是svn | http

<强>示例

z:\>dir /B
svn-repo
hg-repo
wc

z:\>svn ls -v file:///Z:/svn-repo
      3 Badger                окт 20 01:47 ./
      3 Badger             42 окт 20 01:47 data.txt

z:\>hg help subversion
Working with Subversion Repositories
...

z:\>hg clone --verbose -- file:///Z:/svn-repo Z:\hg-repo
using single layout
[r1] Badger: Ininial data
A data.txt
substituting author "Badger" for default "Badger@7b881c4c-2bda-1f48-a8b3-d2b14f06ee49"
data.txt
 committed to "default" as 7965fdc9055d
[r2] Badger: Change 1
M data.txt
data.txt
 committed to "default" as c266778f29c0
[r3] Badger: Add-on
M data.txt
data.txt
 committed to "default" as 2aa45237e3b3
pulled 3 revisions
updating to branch default
resolving manifests
getting data.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved

z:\>cd hg-repo

z:\hg-repo>hg log
changeset:   2:2aa45237e3b3
tag:         tip
user:        Badger@7b881c4c-2bda-1f48-a8b3-d2b14f06ee49
date:        Fri Oct 19 19:47:54 2012 +0000
summary:     Add-on

changeset:   1:c266778f29c0
user:        Badger@7b881c4c-2bda-1f48-a8b3-d2b14f06ee49
date:        Fri Oct 19 19:47:00 2012 +0000
summary:     Change 1

changeset:   0:7965fdc9055d
user:        Badger@7b881c4c-2bda-1f48-a8b3-d2b14f06ee49
date:        Fri Oct 19 19:46:09 2012 +0000
summary:     Ininial data