0

GIT 和 SubGit 的初学者 :)。

在 SVN 端(Subversion 版本 1.7.4),开发人员创建了一个分支,该分支不在分支文件夹下,但与主干、标签、分支处于同一级别,即:

- trunk
- branches
- tags
- TheBranch

然后他们将这个分支移到了分支文件夹下(我们可以看到很多变化):

- trunk
- branches
  - TheBranch 
- tags

当我们使用 SubGit 将关联的存储库迁移到 Git 时,迁移的分支仅包含与移动关联的修订(ps:操作后没有更新)。尽管如此,SubGit 处理的修订数量是正确的,但在其移动之前在分支中完成的所有操作都不会显示。

使用的命令是:

subgit import --svn-url [svn_url_repository] [path_of_git_repo] --username [user_name] --password [password].

我们忘记了一个选项吗?

4

3 回答 3

1

“subgit import”命令是“subgit configure”+“subgit install”+“subgit uninstall”的快捷方式,它仅适用于标准trunk/branches/tags存储库布局。在您的情况下,我建议使用这 3 个命令而不是单个“subgit import”:

$ subgit configure --svn-url SVN_URL repo.git

然后编辑 trunk/branches/tags/shelves 选项repo.git/subgit/config以提及您的附加分支:

trunk = trunk:refs/heads/master
branches = TheBranch:refs/heads/obsolete/TheBranch
branches = branches/*:refs/heads/*
shelves = shelves/*:refs/shelves/*
tags = tags/*:refs/tags/*

然后翻译存储库

$ subgit install repo.git

如果您不需要连续同步运行,那么

$ subgit uninstall repo.git

SubGit 需要在 subgit/config 文件中提到源分支和目标分支来处理移动。

我是 SubGit 开发人员之一。

更新:修复了配置中的一个错误:':' 的两边应该有相同数量的星号。

于 2016-03-23T20:24:42.940 回答
0

谢谢你的帮助。

我成功执行了:

subgit configure --svn-url [svn_url_repository] repo.git

然后更新了配置文件:

[svn]
trunk = trunk:refs/heads/master
branches = trunk2013:refs/heads/obsolete/*
branches = branches/*:refs/heads/*
shelves = shelves/*:refs/shelves/*
tags = tags/*:refs/tags/*

当我执行时:

install repo.git
SubGit version 3.1.1 ('Bobique') build #3448
INSTALLATION FAILED
error: Failed to load Subversion configuration at 'repo.git\subgit\config'
error: Invalid layout option 'svn.branches': Number of asterisks ('*') on the left and right side of the mapping definition differs, when it should be equal..

然后经过一番调查,我更换了:

branches = trunk2013:refs/heads/obsolete/*

经过:

branches = trunk2013:refs/heads/obsolete

现在我有了 TheBranch 的历史 :)。

再次感谢。

于 2016-03-24T10:32:53.630 回答
-1

由于在较旧的修订版中,分支不在“默认”结构文件夹中,因此它没有迁移到 git,因为迁移基本上逐个修订版进行,并将每个 SVN 修订版提交为 GIT 提交。为了解决这个问题,您应该告诉迁移迁移不在默认主干/分支/标签中的路径。有关更多详细信息,请参阅 git-svn 文档。

于 2016-03-23T19:17:21.867 回答