Thread (15 messages) flat view 15 messages, 4 authors, 2016-06-15

Re: [PATCH 0/3] pretty: format aliases

From: Will Palmer <hidden>
Date: 2016-06-15 22:48:42

On Sun, Apr 25, 2010 at 8:48 PM, Jeff King [off-list ref] wrote:
On Sun, Apr 25, 2010 at 04:42:52PM +0100, Will Palmer wrote:
Interesting idea. I think right now most people just want to use their
format with "log", so they would do something like:

 git config alias.mylog "log --format='...'"

Your method allows the same format to be used with multiple commands,
which is more flexible. But I wonder how many people would find it
useful in practice. I can think of only "log" and "show" that I would
really want to share between.
Indeed, this is what I do now, and I really wasn't expecting anyone to
use it for a command other than log. There are three main
justifications:
 1) I hope to eventually have all builtin formats converted to use
this mechanism, and this is a good stepping-stone.
 2) defining a git alias to "log" when I really just want a shorter
way to type a format has always felt horribly clunky to me.
 3) it's so easy to add it's essentially free.

as you might guess, #2 is what really started the itch, and #3 is what
encouraged me to scratch it. #1 was more a side-effect when I realized
(when first trying to implement things) that it's not how things are
currently done.
I skimmed your patches and have included a few comments below, as I
don't have time at the moment to do a thorough review.
Thank you, any input is greatly appreciated.
I think that makes some sense. The "diff" color option was the first,
and so the commit-coloring in "git log" follows that already. So short
of making a new "color.log" variable, that makes the most sense.
following the "diff" color seemed to be the right thing in most
places, but for some things it looked as if there may be more-specific
not-diff-related color options being passed int, which is why I
changed the show_log() calls. Looking back over the patch now, it
seems that the only place left which doesn't reference a rev_info
struct is show-branch.c, which doesn't even have a --format option. So
I suppose that can all get ripped out and replaced with a single check
of the diff options in  the next version of the patch.
This is really a variation on the first one. And there are more
variations, like %T/%t, %P/%p, etc. I'm a little hesitant to just change
the meaning of "%H", which has always explicitly meant the full sha1.
Should we perhaps introduce some universal syntax for "abbreviate if
--abbrev was given, otherwise full sha1". Like "%?H" as you did above,
except that "?" doesn't really make sense.
This one I was also a bit iffy on, but in my mind the fact that %H
currently completely ignores the --abbrev-commit option feels like a
bug to me. One of those "if it has no effect, there should be a
warning", things.
We can at least be assured that as --abbrev[-commit] previously had no
effect on --format options, that the only people who would have used
them together have probably been disappointed at the results, and did
not continue to do so.
There /are/ a couple of places in-code which use %H to fetch a
commit-hash-string, and I made sure to avoid modification of rev_info
when I spotted that, but really that feels like something that should
be using a wrapper get_commit_hash_string() function.
The config variables format.* are traditionally about format-patch. I
see we have format.pretty these days, too. I'm not sure if that is a
deliberate attempt to make format.* more inclusive, or simply an error.
If the latter, we should probably not make it worse with
format.pretty.name.
I was writing them as pretty.<name>, until I saw that format.pretty
was already there. I'm not sure which is the weirder of the two.
-Peff

PS Welcome to the git list. It is nice to see a submission from a
newcomer who has clearly read SubmittingPatches, and that even has
appropriate documentation and test updates. :)
Nice to be welcome. You may have seen a test-run I did to get my
confidence up by submitting a two-line documentation change a week or
so ago ;)
-- 
Will Palmer
wmpalmer@gmail.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help