Strange output in the tortoise tray window

I have two branches, the main branch (black) and the branch of signs (yellow).

As you can see, since the function branch was forked, it was constantly updated from the main changes:

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

When I reintegrate the function branch back into the main one, the log window shows this ugly graph:

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

It shows each merge point as a new branch that has been merged with the function branch. If I had several function branches, it would become almost impossible to read. I also tried with hg view , and the results are even weirder.

Regardless of what is shown above, the final merge results are great, but the reintegrated branch graph annoys me.

Am I doing something wrong, merging too many times with a function branch? Or am I expecting too much from the tortoise log window :)?

Thank you in advance

+4
source share
3 answers

The graph looks like this because the changes are ordered by their revision numbers. The main repository has ordered and numbered changes:

 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. 

This reflects the order in which changesets are added to the repository. The repository of function branches has the following order:

 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... 

Again, everything is ordered beautifully. But when you pull the function branch to the main repository, only the missing changes are added. So the result is basically this:

 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... 

and the graph reflects this.

As you noticed, the repository is in order - this is just an artifact of how change sets on disk are ordered. If you want, you can exchange the repository for a good graph for one with an ugly schedule, since now they contain the same changes. Remember to move any important settings from .hg/hgrc (copy the file from the clone with an ugly schedule).

By the way, when I look at the graph in my clone http://hg.intevation.org/mercurial/crew/ (development branch for Mercurial) and compare it to the graph in the new clone https://www.mercurial-scm.org/ repo / hg (main branch for Mercurial) I see the same phenomenon.

+4
source

One way to get a β€œnicer” graph is to use pre 2.0 TortoiseHg, which had a compact graph mode. In this mode, your second repository will have only two columns of rows, similar to what is in your first screenshot.

Unfortunately, this function was not ported from GTK to Qt, so it is not present in the current version (2.1.2) of TortoiseHg.

+1
source

On closer inspection, you will see that both graphs are (almost) identical, but the presentation is different. What looks like 3 different branches is actually one branch, but presented a little differently.

I wrote "almost" because version numbers were reordered. And this is really strange ...

0
source

All Articles