Submitter | Gregory Szorc |
---|---|
Date | April 18, 2017, 6:21 p.m. |
Message ID | <7f5f78179f5f6afc0f4b.1492539709@ubuntu-vm-main> |
Download | mbox | patch |
Permalink | /patch/20257/ |
State | Accepted |
Headers | show |
Comments
Gregory Szorc <gregory.szorc@gmail.com> writes: > # HG changeset patch > # User Gregory Szorc <gregory.szorc@gmail.com> > # Date 1492539008 25200 > # Tue Apr 18 11:10:08 2017 -0700 > # Node ID 7f5f78179f5f6afc0f4bea52aa03f1431e03d3d9 > # Parent d8d4b4acc68859f90f8759309803b116b67a9371 > show: add basic labels to work template > > `hg show work` is much more usable if output is colored. This patch > implements coloring via label() in a very hacky way. > > In a default Mercurial install, you'll see yellow node labels for all > phases. Branches and bookmarks use the same formatting as the commit > message. So this change doesn't help much in a default install. But if > you have a custom colors defined for these things, output is much more > readable. > > The implementation obviously needs some work. But for a minor change > on a feature that isn't convered by BC, this seems like a clear win > for the feature in 4.2. Do we add this after the rc now? My guess is no but it does seem nice for 4.2 (shrug)
On Thu, Apr 20, 2017 at 10:06 AM, Sean Farley <sean@farley.io> wrote: > Gregory Szorc <gregory.szorc@gmail.com> writes: > > > # HG changeset patch > > # User Gregory Szorc <gregory.szorc@gmail.com> > > # Date 1492539008 25200 > > # Tue Apr 18 11:10:08 2017 -0700 > > # Node ID 7f5f78179f5f6afc0f4bea52aa03f1431e03d3d9 > > # Parent d8d4b4acc68859f90f8759309803b116b67a9371 > > show: add basic labels to work template > > > > `hg show work` is much more usable if output is colored. This patch > > implements coloring via label() in a very hacky way. > > > > In a default Mercurial install, you'll see yellow node labels for all > > phases. Branches and bookmarks use the same formatting as the commit > > message. So this change doesn't help much in a default install. But if > > you have a custom colors defined for these things, output is much more > > readable. > > > > The implementation obviously needs some work. But for a minor change > > on a feature that isn't convered by BC, this seems like a clear win > > for the feature in 4.2. > > Do we add this after the rc now? My guess is no but it does seem nice > for 4.2 (shrug) > I thought I would get these in before 4.2 RC. I guess not. Given the highly experimental nature of show, I'd still like to sneak them in if possible.
On Thu, 20 Apr 2017 23:45:53 -0700, Gregory Szorc wrote: > On Thu, Apr 20, 2017 at 10:06 AM, Sean Farley <sean@farley.io> wrote: > > Gregory Szorc <gregory.szorc@gmail.com> writes: > > > # HG changeset patch > > > # User Gregory Szorc <gregory.szorc@gmail.com> > > > # Date 1492539008 25200 > > > # Tue Apr 18 11:10:08 2017 -0700 > > > # Node ID 7f5f78179f5f6afc0f4bea52aa03f1431e03d3d9 > > > # Parent d8d4b4acc68859f90f8759309803b116b67a9371 > > > show: add basic labels to work template > > > > > > `hg show work` is much more usable if output is colored. This patch > > > implements coloring via label() in a very hacky way. > > > > > > In a default Mercurial install, you'll see yellow node labels for all > > > phases. Branches and bookmarks use the same formatting as the commit > > > message. So this change doesn't help much in a default install. But if > > > you have a custom colors defined for these things, output is much more > > > readable. > > > > > > The implementation obviously needs some work. But for a minor change > > > on a feature that isn't convered by BC, this seems like a clear win > > > for the feature in 4.2. > > > > Do we add this after the rc now? My guess is no but it does seem nice > > for 4.2 (shrug) > > > > I thought I would get these in before 4.2 RC. I guess not. Given the highly > experimental nature of show, I'd still like to sneak them in if possible. Is it generally allowed to take this kind of patches during freeze? I don't want to waste time deciding which is good or bad for stable. FWIW, these patches look good.
On Fri, Apr 21, 2017 at 6:15 AM, Yuya Nishihara <yuya@tcha.org> wrote: > On Thu, 20 Apr 2017 23:45:53 -0700, Gregory Szorc wrote: > > On Thu, Apr 20, 2017 at 10:06 AM, Sean Farley <sean@farley.io> wrote: > > > Gregory Szorc <gregory.szorc@gmail.com> writes: > > > > # HG changeset patch > > > > # User Gregory Szorc <gregory.szorc@gmail.com> > > > > # Date 1492539008 25200 > > > > # Tue Apr 18 11:10:08 2017 -0700 > > > > # Node ID 7f5f78179f5f6afc0f4bea52aa03f1431e03d3d9 > > > > # Parent d8d4b4acc68859f90f8759309803b116b67a9371 > > > > show: add basic labels to work template > > > > > > > > `hg show work` is much more usable if output is colored. This patch > > > > implements coloring via label() in a very hacky way. > > > > > > > > In a default Mercurial install, you'll see yellow node labels for all > > > > phases. Branches and bookmarks use the same formatting as the commit > > > > message. So this change doesn't help much in a default install. But > if > > > > you have a custom colors defined for these things, output is much > more > > > > readable. > > > > > > > > The implementation obviously needs some work. But for a minor change > > > > on a feature that isn't convered by BC, this seems like a clear win > > > > for the feature in 4.2. > > > > > > Do we add this after the rc now? My guess is no but it does seem nice > > > for 4.2 (shrug) > > > > > > > I thought I would get these in before 4.2 RC. I guess not. Given the > highly > > experimental nature of show, I'd still like to sneak them in if possible. > > Is it generally allowed to take this kind of patches during freeze? I don't > want to waste time deciding which is good or bad for stable. > Generally, no. But `hg show` is extremely experimental and in its current state barely worth shipping, IMO. So I'm not sure what rules apply. > > FWIW, these patches look good. >
On Fri, Apr 21, 2017 at 10:15:40PM +0900, Yuya Nishihara wrote: > On Thu, 20 Apr 2017 23:45:53 -0700, Gregory Szorc wrote: > > On Thu, Apr 20, 2017 at 10:06 AM, Sean Farley <sean@farley.io> wrote: > > > Gregory Szorc <gregory.szorc@gmail.com> writes: > > > > # HG changeset patch > > > > # User Gregory Szorc <gregory.szorc@gmail.com> > > > > # Date 1492539008 25200 > > > > # Tue Apr 18 11:10:08 2017 -0700 > > > > # Node ID 7f5f78179f5f6afc0f4bea52aa03f1431e03d3d9 > > > > # Parent d8d4b4acc68859f90f8759309803b116b67a9371 > > > > show: add basic labels to work template > > > > > > > > `hg show work` is much more usable if output is colored. This patch > > > > implements coloring via label() in a very hacky way. > > > > > > > > In a default Mercurial install, you'll see yellow node labels for all > > > > phases. Branches and bookmarks use the same formatting as the commit > > > > message. So this change doesn't help much in a default install. But if > > > > you have a custom colors defined for these things, output is much more > > > > readable. > > > > > > > > The implementation obviously needs some work. But for a minor change > > > > on a feature that isn't convered by BC, this seems like a clear win > > > > for the feature in 4.2. > > > > > > Do we add this after the rc now? My guess is no but it does seem nice > > > for 4.2 (shrug) > > > > > > > I thought I would get these in before 4.2 RC. I guess not. Given the highly > > experimental nature of show, I'd still like to sneak them in if possible. > > Is it generally allowed to take this kind of patches during freeze? I don't > want to waste time deciding which is good or bad for stable. In general, we wouldn't do this, but given the experimental nature of show, and how this is a much better name, I'm going to take these. > > FWIW, these patches look good. > _______________________________________________ > Mercurial-devel mailing list > Mercurial-devel@mercurial-scm.org > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
Patch
diff --git a/mercurial/templates/map-cmdline.show b/mercurial/templates/map-cmdline.show --- a/mercurial/templates/map-cmdline.show +++ b/mercurial/templates/map-cmdline.show @@ -1,3 +1,9 @@ -# TODO add label() once we figure out which namespace the labels belong on. +# TODO there are a few deficiencies in this file: +# * Due to the way the file is loaded, references to other entities in the +# template doesn't work. That requires us to inline. +# * The "namespace" of the labels needs to be worked out. We currently +# piggyback on existing values so color works. +# * Obsolescence isn't considered for node labels. See _cset_labels in +# map-cmdline.default. showbookmarks = '{if(active, "*", " ")} {pad(bookmark, longestbookmarklen + 4)}{shortest(node, 5)}\n' -showwork = '{shortest(node, 5)}{if(branches, " ({branch})")}{if(bookmarks, " ({bookmarks})")} {desc|firstline}' +showwork = '{label("log.changeset changeset.{phase}", shortest(node, 5))}{if(branches, " ({label("log.branch", branch)})")}{if(bookmarks, " ({label("log.bookmarks", bookmarks)})")} {label("log.description", desc|firstline)}'