git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Duy Nguyen <pclouds@gmail.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	marcnarc@xiplink.com
Subject: Re: [PATCH v4 0/5] Better ref summary alignment in "git fetch"
Date: Mon, 27 Jun 2016 21:27:32 +0200	[thread overview]
Message-ID: <20160627192732.GA5774@duynguyen> (raw)
In-Reply-To: <20160627184354.GA9594@sigill.intra.peff.net>

On Mon, Jun 27, 2016 at 02:43:54PM -0400, Jeff King wrote:
> 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/$
>

Yeah, '$' lowers the chances of wrapping but in corner cases, it'll be
just as bad.

Junio's suggestion is one way to go. Another is Marc's idea of
breaking lines, so we could in theory have something like this

   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/$

Or, for a very long branch name, we could put replace a big chunk of
it with an ellipsis. If it's long enough, I guess you can still figure
the branch name with a big gap in the middle (or left or right).

   From ...
    * [new branch]      branch1             -> origin/$
    * [new branch]      branch2             -> origin/$
    * [new branch]      some-re...anch-name -> origin/$
    + 1234abc..5678def  branch3             -> origin/$ (forced update)
    * [new branch]      branch4             -> origin/$

And with that we get dangerously close to full customization using
pretty placeholders :)

> 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

  reply	other threads:[~2016-06-27 19:27 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-22 11:20 [PATCH 0/2] Better ref summary alignment in "git fetch" Nguyễn Thái Ngọc Duy
2016-05-22 11:20 ` [PATCH 1/2] fetch: better alignment in ref summary Nguyễn Thái Ngọc Duy
2016-05-23  0:58   ` Junio C Hamano
2016-05-23  1:59     ` Duy Nguyen
2016-05-26 14:22       ` Marc Branchaud
2016-05-26 16:29         ` Jeff King
2016-05-26 17:42           ` Junio C Hamano
2016-05-26 18:13             ` Marc Branchaud
2016-05-26 19:31               ` Junio C Hamano
2016-05-26 22:13                 ` Marc Branchaud
2016-05-26  5:18   ` Jeff King
2016-06-02 13:58     ` Duy Nguyen
2016-06-02 16:16       ` Junio C Hamano
2016-05-22 11:20 ` [PATCH 2/2] fetch: reduce ref column size when there are enough short ref names Nguyễn Thái Ngọc Duy
2016-06-03 11:08 ` [PATCH v2 0/3] Better ref summary alignment in "git fetch" Nguyễn Thái Ngọc Duy
2016-06-03 11:08   ` [PATCH v2 1/3] git-fetch.txt: document fetch output Nguyễn Thái Ngọc Duy
2016-06-03 14:33     ` Marc Branchaud
2016-06-03 16:55     ` Jeff King
2016-06-03 11:08   ` [PATCH v2 2/3] fetch: refactor ref update status formatting code Nguyễn Thái Ngọc Duy
2016-06-03 16:48     ` Junio C Hamano
2016-06-03 11:08   ` [PATCH v2 3/3] fetch: reduce duplicate in ref update status lines Nguyễn Thái Ngọc Duy
2016-06-03 14:53     ` Marc Branchaud
2016-06-03 17:04       ` Junio C Hamano
2016-06-03 20:00         ` Marc Branchaud
2016-06-03 20:53           ` Junio C Hamano
2016-06-04  3:11             ` Duy Nguyen
2016-06-04  0:31       ` Duy Nguyen
2016-06-04 16:30         ` Junio C Hamano
2016-06-05  3:15           ` Duy Nguyen
2016-06-03 17:00     ` Junio C Hamano
2016-06-03 23:49       ` Duy Nguyen
2016-06-03 17:06     ` Jeff King
2016-06-03 23:52       ` Duy Nguyen
2016-06-04  4:53         ` Junio C Hamano
2016-06-03 17:00   ` [PATCH v2 0/3] Better ref summary alignment in "git fetch" Jeff King
2016-06-03 17:37     ` Junio C Hamano
2016-06-05  3:11   ` [PATCH v3 0/6] " Nguyễn Thái Ngọc Duy
2016-06-05  3:11     ` [PATCH v3 1/6] git-fetch.txt: document fetch output Nguyễn Thái Ngọc Duy
2016-06-06 14:24       ` Marc Branchaud
2016-06-05  3:11     ` [PATCH v3 2/6] fetch: refactor ref update status formatting code Nguyễn Thái Ngọc Duy
2016-06-05  3:11     ` [PATCH v3 3/6] fetch: change flag code for displaying tag update and deleted ref Nguyễn Thái Ngọc Duy
2016-06-05  3:11     ` [PATCH v3 4/6] fetch: align all "remote -> local" output Nguyễn Thái Ngọc Duy
2016-06-05  3:11     ` [PATCH v3 5/6] fetch: reduce duplicate in ref update status lines with { -> } Nguyễn Thái Ngọc Duy
2016-06-05  3:11     ` [PATCH v3 6/6] fetch: reduce duplicate in ref update status lines with placeholder Nguyễn Thái Ngọc Duy
2016-06-26  5:58     ` [PATCH v4 0/5] Better ref summary alignment in "git fetch" Nguyễn Thái Ngọc Duy
2016-06-26  5:58       ` [PATCH v4 1/5] git-fetch.txt: document fetch output Nguyễn Thái Ngọc Duy
2016-07-04 14:07         ` Jakub Narębski
2016-07-04 15:17           ` Duy Nguyen
2016-07-04 15:25             ` Jakub Narębski
2016-07-04 15:52               ` Duy Nguyen
2016-06-26  5:58       ` [PATCH v4 2/5] fetch: refactor ref update status formatting code Nguyễn Thái Ngọc Duy
2016-06-26  5:58       ` [PATCH v4 3/5] fetch: change flag code for displaying tag update and deleted ref Nguyễn Thái Ngọc Duy
2016-06-26  5:58       ` [PATCH v4 4/5] fetch: align all "remote -> local" output Nguyễn Thái Ngọc Duy
2016-06-26  5:58       ` [PATCH v4 5/5] fetch: reduce duplicate in ref update status lines with placeholder Nguyễn Thái Ngọc Duy
2016-06-27  4:33         ` Eric Sunshine
2016-06-27  5:42           ` Duy Nguyen
2016-06-27 15:31           ` Junio C Hamano
2016-06-27 18:43       ` [PATCH v4 0/5] Better ref summary alignment in "git fetch" Jeff King
2016-06-27 19:27         ` Duy Nguyen [this message]
2016-06-30 16:16         ` Duy Nguyen
2016-07-01  6:09           ` Jeff King
2016-07-01 16:03       ` [PATCH v5 " Nguyễn Thái Ngọc Duy
2016-07-01 16:03         ` [PATCH v5 1/5] git-fetch.txt: document fetch output Nguyễn Thái Ngọc Duy
2016-07-01 16:03         ` [PATCH v5 2/5] fetch: refactor ref update status formatting code Nguyễn Thái Ngọc Duy
2016-07-01 16:03         ` [PATCH v5 3/5] fetch: change flag code for displaying tag update and deleted ref Nguyễn Thái Ngọc Duy
2016-07-01 16:03         ` [PATCH v5 4/5] fetch: align all "remote -> local" output Nguyễn Thái Ngọc Duy
2016-07-01 16:03         ` [PATCH v5 5/5] fetch: reduce duplicate in ref update status lines with placeholder Nguyễn Thái Ngọc Duy
2016-07-01 23:21         ` [PATCH v5 0/5] Better ref summary alignment in "git fetch" Junio C Hamano
2016-07-02  4:39           ` Duy Nguyen
2016-07-04 13:17         ` Marc Branchaud
2016-07-04 15:08           ` Duy Nguyen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160627192732.GA5774@duynguyen \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=marcnarc@xiplink.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).