Mercurial 是否更改修订父项以从历史记录中删除早期修订?

Mercurial 是否更改修订父项以从历史记录中删除早期修订?,mercurial,mercurial-convert,reparenting,Mercurial,Mercurial Convert,Reparenting,如何在mercurial中快速重新绘制一棵树,如果这是原始结构: A-B-C-D-E-F 我想将其更改为: D-E-F(甚至A-D-E-F也可以) 我尝试了使用拼接图的建议,但失败了,错误是未转换拼接图修订,忽略了“ 它还打印出abort:no node 任何帮助都将不胜感激。谢谢。我会使用histedit扩展名: 首先,让我们创建一个具有所需结构的测试回购: hg init echo "a" > file hg ci -m "a" echo "b" >> file hg ci

如何在mercurial中快速重新绘制一棵树,如果这是原始结构:

A-B-C-D-E-F

我想将其更改为:

D-E-F
(甚至
A-D-E-F
也可以)

我尝试了使用拼接图的建议,但失败了,错误是未转换拼接图修订,忽略了“

它还打印出
abort:no node


任何帮助都将不胜感激。谢谢。

我会使用
histedit
扩展名:

首先,让我们创建一个具有所需结构的测试回购:

hg init
echo "a" > file
hg ci -m "a"
echo "b" >> file
hg ci -m "b"
echo "c" >> file
hg ci -m "c"
echo "d" >> file
hg ci -m "d"
echo "e" >> file
hg ci -m "e"
echo "f" >> file
hg ci -m "f"
然后,执行
hg histedit
,并在编辑器中输入以下选项:

pick e4c09693d7a6 0 a
r 380d6d1ef006 1 b
r 33131e82bb1b 2 c
r pick 9325fb48b48e 3 d
pick 844ebb0b3844 4 e
pick bc85bc9ade8f 5 f
这将在回购协议中只留下三项承诺


请注意,要使其起作用,回购协议中的提交必须是草稿。您可能还需要激活mercurial附带的histedit扩展名。

我会使用
histedit
扩展名:

首先,让我们创建一个具有所需结构的测试回购:

hg init
echo "a" > file
hg ci -m "a"
echo "b" >> file
hg ci -m "b"
echo "c" >> file
hg ci -m "c"
echo "d" >> file
hg ci -m "d"
echo "e" >> file
hg ci -m "e"
echo "f" >> file
hg ci -m "f"
然后,执行
hg histedit
,并在编辑器中输入以下选项:

pick e4c09693d7a6 0 a
r 380d6d1ef006 1 b
r 33131e82bb1b 2 c
r pick 9325fb48b48e 3 d
pick 844ebb0b3844 4 e
pick bc85bc9ade8f 5 f
这将在回购协议中只留下三项承诺


请注意,要使其起作用,回购协议中的提交必须是草稿。您可能还需要激活mercurial附带的histedit扩展。

我假设您希望使用hg convert而不是仅仅“重新设置基础”?
convert也会重写历史,但不会消除更改;否则,将来的更改可能取决于已删除的更改。您是否希望实际删除更改?我们无法理解您的问题,请更具体一些。我假设您希望使用hg convert而不是“重基”来执行更改,可能会重复此操作?
convert
也会重写历史,但不会消除更改;否则,将来的更改可能取决于已删除的更改。您想实际删除更改吗?我们无法理解您的问题,请更具体一些。更改可能重复