从 SVN 多存储库迁移到 GIT
Migrating from SVN multi-repo to GIT
我是 git-svn 桥的新手,面临着从 SVN 存储库迁移到 GIT 的任务。 SVN结构看起来真的很可怕:
root
base
server
core
branch
tags
trunk
webapp
branch
tags
trunk
....
client
core
branch
tags
trunk
....
....
....
作为 "talented svn migrate-master",我执行了 git svn clone ..../root
并克隆了整个存储库。 GIT:
我没有可见的分支
$ git branch -a
* master
remotes/git-svn
我可以轻松导航到 root-base-server-core-branch-my-awesome-branch
,它看起来像普通文件夹。
如何继续svn2git对话?看起来我应该从头开始,但是克隆这个邪恶花了一个星期,我不想再等了...
您在该存储库中有多个 svn 项目。您想将它们组合成 git 吗?
您可能需要考虑为客户端、核心和网络应用创建一个单独的 git 存储库。
查看 git svn clone 的 --branches
,它可以使用多个通配符,你可能需要那个糟糕的 svn 结构。类似于 --branches=*/*/*/*/branch/*
您也可以使用多个 --branches
,如 --branches=coked/out/path/branch/* --branches=totally/messed/up/path/branches/*
来自帮助:
-T<trunk_subdir>, --trunk=<trunk_subdir>, -t<tags_subdir>, --tags=<tags_subdir>, -b<branches_subdir>,
--branches=<branches_subdir>, -s, --stdlayout
These are optional command-line options for init. Each of these flags can point to a relative repository path
(--tags=project/tags) or a full url (--tags=https://foo.org/project/tags). You can specify more than one --tags and/or
--branches options, in case your Subversion repository places tags or branches under multiple paths. The option
--stdlayout is a shorthand way of setting trunk,tags,branches as the relative paths, which is the Subversion default. If
any of the other options are given as well, they take precedence.
我是 git-svn 桥的新手,面临着从 SVN 存储库迁移到 GIT 的任务。 SVN结构看起来真的很可怕:
root
base
server
core
branch
tags
trunk
webapp
branch
tags
trunk
....
client
core
branch
tags
trunk
....
....
....
作为 "talented svn migrate-master",我执行了 git svn clone ..../root
并克隆了整个存储库。 GIT:
$ git branch -a
* master
remotes/git-svn
我可以轻松导航到 root-base-server-core-branch-my-awesome-branch
,它看起来像普通文件夹。
如何继续svn2git对话?看起来我应该从头开始,但是克隆这个邪恶花了一个星期,我不想再等了...
您在该存储库中有多个 svn 项目。您想将它们组合成 git 吗? 您可能需要考虑为客户端、核心和网络应用创建一个单独的 git 存储库。
查看 git svn clone 的 --branches
,它可以使用多个通配符,你可能需要那个糟糕的 svn 结构。类似于 --branches=*/*/*/*/branch/*
您也可以使用多个 --branches
,如 --branches=coked/out/path/branch/* --branches=totally/messed/up/path/branches/*
来自帮助:
-T<trunk_subdir>, --trunk=<trunk_subdir>, -t<tags_subdir>, --tags=<tags_subdir>, -b<branches_subdir>, --branches=<branches_subdir>, -s, --stdlayout These are optional command-line options for init. Each of these flags can point to a relative repository path (--tags=project/tags) or a full url (--tags=https://foo.org/project/tags). You can specify more than one --tags and/or --branches options, in case your Subversion repository places tags or branches under multiple paths. The option --stdlayout is a shorthand way of setting trunk,tags,branches as the relative paths, which is the Subversion default. If any of the other options are given as well, they take precedence.