Git log three-dot notation: include merge base
- From
- Robert Dailey <rcdailey.lists@gmail.com>
- Date
- May 14, 2016, 23:09 UTC
- Message-ID
- <CAHd499A_AN0U7gj8Yp0pBGGZ6deNrDJ4F4npAKy6a2U0+uTsxg@mail.gmail.com>
If you consider a simple case where I run the following command:
$ git log --oneline --graph --decorate A...B
Where A and B are both branches with a single merge base and a series of commits on each branch. Very simple example with no loops or crazy ancestry. Below is an example repo I set up, where I show the whole repository log graph:
$ git log --oneline --decorate --graph --all * eb28ae4 (HEAD -> B) Commit 6 * 7173fa1 Commit 5 * b5fe27b Commit 4 | * 37a8ca8 (A) Commit 3 | * 72745a7 Commit 2 |/ * ffc8040 Commit 1
Using A...B notation, I get this:
$ git log --oneline --decorate --graph A...B * eb28ae4 (HEAD -> B) Commit 6 * 7173fa1 Commit 5 * b5fe27b Commit 4 * 37a8ca8 (A) Commit 3 * 72745a7 Commit 2
The graph no longer makes any sense, and isn't helpful to me at all. This is because the merge base commit isn't shown. I understand this is "by-design", but is there a way to include it? It's necessary to have it, for this graph to make sense.