Re: [PATCH v4 0/5] Better ref summary alignment in "git fetch"
- From
Jeff King <peff@peff.net>
- Date
- Jun 27, 2016, 18:43 UTC
- Message-ID
- <20160627184354.GA9594@sigill.intra.peff.net>
- In-Reply-To
- <20160626055810.26960-1-pclouds@gmail.com>
On Sun, Jun 26, 2016 at 07:58:05AM +0200, Nguyễn Thái Ngọc Duy wrote:
> v4 is a cleaned up version of v3. Tests are added. Typos in
> git-fetch.txt are corrected. The "{ -> origin/}master" format is
> dropped.Thanks for continuing to look into this.
I tried it on my most-horrible example case, and the results were...just OK. Because the variable-length part of each line comes first, the alignment code means that the "origin/$" bit of every line gets bumped out. And if you have a single large branch name, then everybody gets bumped out very far, even to the point of wrapping. E.g., I get something like (with fetch.output=compact, obviously):
From ...
* [new branch] branch1 -> origin/$
* [new branch] branch2 -> origin/$
* [new branch] some-really-long-branch-name -> origin/$
+ 1234abc..5678def branch3 -> origin/$ (forced
update)
* [new branch] branch4 -> origin/$I've shrunk it a bit to fit in the email; my actual "long" name was much larger. And the average length for the shorter ones is, too, but the overall effect is the same; almost every line has a huge run of whitespace. And some lines wrap that would not have even under the normal, duplicated scheme.
One of the nice things about Junio's "{ -> origin/}" suggestion is that it puts the variable-length part at the end, so there's no extra alignment required. And you'd get something like:
From ...
* [new branch] { -> origin/}branch1
* [new branch] { -> origin/}branch2
* [new branch] { -> origin/}some-really-long-branch-name
+ 1234abc..5678def { -> origin/}branch3 (forced update)
* [new branch] { -> origin/}branch4-Peff