gpt4 book ai didi

svn - SVN 中维护分支的工具

转载 作者:太空狗 更新时间:2023-10-29 13:26:00 25 4
gpt4 key购买 nike

我的团队使用 SVN 进行源代码控制。最近,我一直在处理一个偶尔会从主干 merge 的分支,这是一个相当烦人的经历(参见 Joel Spolsky 的 "Subversion Story #1" ),所以我一直在寻找管理分支和 merge 的替代方法。鉴于集中式 SVN 存储库是不可协商的,我想要的是一组满足以下条件的工具。

  1. 主干和分支的完整修订历史应该存储在 SVN 中。

  2. 在任一方向(并可能交叉) merge 应该相对轻松。

  3. merge 历史尽量保存在SVN中。

我查看了 git-svnbzr-svn 似乎都不能胜任这项工作——基本上,考虑到它们可以导出的修订历史SVN 存储库,他们似乎无法比 SVN 更好地处理 merge 。例如,在使用 git 克隆存储库后,我的分支的修订历史记录显示了主干的原始分支,但是 git 没有“看到”任何临时分支SVN merge 为“ native ” merge ——修订历史是一长行。因此,任何从 git 中的主干 merge 的尝试都会产生与 SVN merge 一样多的冲突。 (此外,git-svn documentation 明确警告不要使用 git 在分支之间进行 merge 。)

有没有办法调整我的工作流程,使 git 满足上述要求?也许我只是需要提示或技巧(或单独的 merge 工具?)来帮助 SVN 更好地 merge 到分支中?

最佳答案

没有纯 SVN 答案,我想引用 SO 问题“How to fool git-svn to recognize merges made with svn?

我建议在特殊分支中执行这些 git merge ,但更简单的解决方案是在 git-svn 克隆的存储库中记录(至少是最近的)SVN merge git grafts file ,为了变换:

  o-...-A---o---D--- unstable
/
X-----B---M---o---o--- stable

进入:

  o-...-A---o---D--- unstable
/ \
X-----B---M---o---o--- stable

,在 dcommit 之前简化 git merge 过程并将其发送回 SVN。

关于svn - SVN 中维护分支的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2535915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com