将非标准 svn 转换为 git

发布于 2024-10-25 05:05:06 字数 889 浏览 5 评论 0原文

我们有一个非标准的 svn 设置,如下所示:

Root
|----->Trunk
|      |---->Projects
|      |      |---> Project 1
|      |      |---> Project 2
|      |      |---> Project 3
|      |---->Libraries
|      |      |---> Library 1
|      |      |---> Library 2
|----->Tags
|      |---->Projects
|      |      |---> Project 1
|      |      |      |----> 1.0.0.0
|      |      |      |----> 1.0.0.1
|      |      |---> Project 2
|      |      |      |----> 1.0.0.2
|      |      |      |----> 1.0.0.3
|      |---->Libraries
|      |      |---> Library 1
|      |      |       |----> 1.0.0.0
|      |      |       |----> 1.0.0.1
|      |      |---> Library 2
|      |      |       |----> 1.0.0.0
|      |      |       |----> 1.0.0.1

我已经完成了 git-svn 克隆,但当然没有一个标签起作用(我们在 svn 中没有分支)。 有没有办法将这个混乱的情况分解成多个 git 存储库?

We've got a non-standard svn setup which looks like this:

Root
|----->Trunk
|      |---->Projects
|      |      |---> Project 1
|      |      |---> Project 2
|      |      |---> Project 3
|      |---->Libraries
|      |      |---> Library 1
|      |      |---> Library 2
|----->Tags
|      |---->Projects
|      |      |---> Project 1
|      |      |      |----> 1.0.0.0
|      |      |      |----> 1.0.0.1
|      |      |---> Project 2
|      |      |      |----> 1.0.0.2
|      |      |      |----> 1.0.0.3
|      |---->Libraries
|      |      |---> Library 1
|      |      |       |----> 1.0.0.0
|      |      |       |----> 1.0.0.1
|      |      |---> Library 2
|      |      |       |----> 1.0.0.0
|      |      |       |----> 1.0.0.1

I've already done a git-svn clone, but of course none of the tags work (we have no branches in svn).
Is there anyway to untangle this mess into multiple git repos?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

江心雾 2024-11-01 05:05:07

您可以使用 git-svn 导入。您需要为每个项目和每个库执行一次。使用 -t -T 参数指定主干和标记位置,但省略分支指定。

现在您需要将它们全部与子模块嫁接在一起。听起来是一个有趣且具有挑战性的项目。如果您需要更多帮助,请告诉我。

希望这有帮助。

You can use git-svn import. You will need to do it once for every project and once for every library. use the -t -T parameters to specify the trunk and tags locations but omit the branch specification.

Now you need to graft all of them together with submodules. Sounds like a fun and challenging project. Let me know if you need anymore help.

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文