gpt4 book ai didi

svn - 将 Hg 更改提交回 SVN

转载 作者:行者123 更新时间:2023-12-03 14:39:37 25 4
gpt4 key购买 nike

我已经开始在 SVN 存储库中工作。我已经用 hg clone 将它的一个子文件夹克隆到了本地 Hg 存储库中。 .

之后,我想与一个无法访问 SVN 存储库的同事分享这个。我创建了一个私有(private) BitBucket 存储库,我们偶尔会推送更改,因此我不得不拉取它们。
hgsubversion对变更集做了一些讨厌的事情,比如改变他们的提交者(我什至相信哈希)。当我尝试推送和拉取 BitBucket 存储库时,我不得不进行 merge 。

由于我们心爱的 friend abort: Sorry, can't find svn parent of a merge revision.,现在我无法将更改推送回 Subversion 存储库。 .

如何使用 svn-targeting Mercurial 存储库提取 BitBucket-targeting Mercurial 存储库,同时保持与 hgsubversion 的兼容性? (也就是说,不导入 merge 修订)?

当然,一些自动化的方法将不胜感激,但如果没有这样的事情/简单的方法来做到这一点,我将不胜感激任何解决方案。

我用 hgsubversion ,而不是 hgsvn ;即 hg clone svn://repo/url 的扩展名.不过,如有必要,我愿意切换。

最佳答案

当您在 subversion 存储库上使用 Mercurial 时,您仍然必须像 SVN 那样思考,因此基本 Mercurial 工作流程的许多功能部分将无法正常工作。在 svn 仓库上 merge mercurial 的方式是不可能的。如果您已将您的工作与拉取的 svn 分支 merge ,您将收到臭名昭著的关于您现在收到的消息 :(

我建议您阅读 durin42 对 this question 的回答.

编辑:为了摆脱当前的困惑,我建议您从您从 SVN 存储库 checkout 的那一点开始创建一个补丁(或一系列补丁)。从 subversion 存储库中获取新副本并应用补丁。我不确定您能否从当前的 repo 中做到这一点。您可以探索 hg diff 命令。

hg diff -g -r tip -r XXX > patch

XXX 是您的原始 SVN 结帐(我还没有测试过。)

关于svn - 将 Hg 更改提交回 SVN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992306/

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