gpt4 book ai didi

svn - 在变更集 0(零)之前添加其他变更集?

转载 作者:行者123 更新时间:2023-12-04 20:36:22 26 4
gpt4 key购买 nike

我有一个 Hg 存储库,其中变更集 0 仅表示“添加 .hgignore”。从变更集 1 开始,我通过脚本从多个 Subversion 修订版逐步添加了变更集。然后我和 Hg 一起工作了一段时间。

现在我决定需要更多的 Svn 修订版,这些修订版在历史上比开始修订版(Hg 中的变更集 1)更早。

是否可以在 0 和 1 之间插入新的变更集?如果是:如何?

最佳答案

您可以为此使用Mercurial 到Mercurial 转换。您需要启用 convert extension为了这。该扩展程序可让您在转换过程中拼接历史记录。这仅仅意味着您可以为现有变更集指定新的父级。

所以如果你开始

$ hg glog
@ changeset: 1:aaee9686dedf
| tag: tip
| user: Martin Geisler <mg@lazybytes.net>
| date: Fri Mar 23 15:08:11 2012 +0100
| summary: bar
|
o changeset: 0:17474bd28fe5
user: Martin Geisler <mg@lazybytes.net>
date: Fri Mar 23 15:08:05 2012 +0100
summary: foo

您可以先从 SVN 导入所需的修订:

$ hg update null
$ run-your-script.sh

这将创建第二个根变更集——您现在实际上在您的存储库中拥有两个不相交的历史记录。我创建了一个变更集,其中添加了一个 baz 文件:

$ hg glog
@ changeset: 2:515e1292862b
tag: tip
parent: -1:000000000000
user: Martin Geisler <mg@lazybytes.net>
date: Fri Mar 23 15:09:19 2012 +0100
summary: baz

o changeset: 1:aaee9686dedf
| user: Martin Geisler <mg@lazybytes.net>
| date: Fri Mar 23 15:08:11 2012 +0100
| summary: bar
|
o changeset: 0:17474bd28fe5
user: Martin Geisler <mg@lazybytes.net>
date: Fri Mar 23 15:08:05 2012 +0100
summary: foo

最后一步是将历史链接在一起:我们希望 17474bd28fe5 将 515e1292862b 作为其第一个父节点。使用 hg log --debug 查看完整的变更集散列并制作切片映射文件

17474bd28fe535c15c7dad3659994ab048146e99 515e1292862ba2d6776294ffb00c533dc6850c66

然后运行

 $ hg convert --splicemap map.txt your-repo your-spliced-repo

您将在your-spliced-repo 中找到修改历史。

关于svn - 在变更集 0(零)之前添加其他变更集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838888/

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