我有两个分支,主分支(黑色)和功能分支(黄色)。

正如您所看到的,由于功能分支是分叉的,因此它保持最新从main获取更改:

alt text http://azkotoki.org/images/stackoverflow/tgh-reintegrate1 .gif注意

当我将功能分支重新集成到主分支时,日志窗口会显示这个丑陋的图表:

alt text http://azkotoki.org/images/stackoverflow/tgh-reintegrate2 .gif注意

它将每个合并点显示为与功能分支合并的新分支。如果我有几个功能分支,这将几乎不可能阅读。我也试过hg view,结果甚至更奇怪。

无论上面显示的图片如何,最终的合并结果都很好,但重新整合的分支图表让我很烦。

我是否因为多次合并功能分支而做错了什么?或者我对tortoisehg的日志窗口有太多期待:)?

提前致谢

有帮助吗?

解决方案

图表看起来像这样,因为修订版按其修订号排序。主存储库具有订购的修订版,编号如下:

0 Imported initial repo.
1 Trivial change to also echo b.
2 Added another echo for c.
3 Echo for d.
4 Echo for e.

这反映了将更改集添加到存储库的顺序。功能分支存储库具有以下顺序:

0 Imported initial repo.
1 Trivial change to also echo b.
3 Added another echo for c.
4 Automatic merge...
5 Echo for d.
6 Automatic merge...
7 Echo for e.
8 Automatic merge...

所有的一切都很好地排序。但是,当您将功能分支拉入主存储库时,只会添加缺少的更改集。因此,主要的结果是:

0 Imported initial repo.
1 Trivial change to also echo b.
2 Added another echo for c.
3 Echo for d.
4 Echo for e.
5 Refactored echos to print.
6 Automatic merge...
7 Automatic merge...
8 Automatic merge...

,图表反映了这一点。

如您所知,存储库很好 - 这只是如何在磁盘上订购更改集的工件。如果需要,您可以将存储库与带有丑陋图形的图表交换,因为它们现在包含相同的更改集。只需记住从.hg/hgrc移动任何重要设置(使用丑陋的图形从克隆中复制文件)。

顺便说一下,当我查看我的 http:// hg。 intevation.org/mercurial/crew/ (Mercurial的开发分支)并将其与 https://www.mercurial-scm.org/repo/hg (Mercurial的主要分支)我看到了同样的现象。

其他提示

获得<!>“更好<!>”的一种方法;图表将使用具有紧凑图形模式的pre 2.0 TortoiseHg。在这种模式下,您的第二个存储库只有两列线,类似于您的第一个屏幕截图。

不幸的是,此功能尚未从GTK移植到Qt,因此在TortoiseHg的当前版本(2.1.2)中不存在。

当你仔细观察时,你会看到两个图形(几乎)相同,但演示文稿是不同的。那看起来像3个不同的分支,实际上是一个分支,但略有不同。

我写了<!>“几乎<!>”;因为修订号已经重新排序。这真的很奇怪......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top