Thread (1 message) 1 message, 1 author, 2017-11-05

Re: [PATCH v1 2/2] log: add option to choose which refs to decorate

From: Junio C Hamano <hidden>
Date: 2017-11-05 02:03:27

Rafael Ascensão [off-list ref] writes:
quoted
quoted
The pattern follows similar rules as `--glob` except it doesn't assume a
trailing '/*' if glob characters are missing.
Why should this be a special case that burdens users to remember one
more rule?  Wouldn't users find "--decorate-refs=refs/tags" useful
and it woulld be shorter and nicer than having to say "refs/tags/*"?
I wanted to allow exact patterns like:
"--decorate-refs=refs/heads/master" and for that I disabled the flag
that adds the trailing '/*' if no globs are found. As a side effect, I
lost the shortcut.

Is adding a yet another flag that appends '/*' only if the pattern
equals "refs/{heads,remotes,tags}" a good idea?
No.
Because changing the default behavior of that function has
implications on multiple commands which I think shouldn't change. But
at the same time, would be nice to have the logic that deals with
glob-ref patterns all in one place.

What's the sane way to do this?
Learn to type "--decorate-refs="refs/heads/[m]aster", and not twewak
the code at all, perhaps.  The users of existing "with no globbing,
/* is appended" interface are already used to that way and they do
not have to learn a new and inconsistent interface.

After all, "I only want to see 'git log' output with 'master'
decorated" (i.e. not specifying "this class of refs I can glob by
using the naming convention I am using" and instead enumerating the
ones you care about) does not sound like a sensible thing people
often want to do, so making it follow the other codepath so that
people can say "refs/tags" to get "refs/tags/*", while still allowing
such a rare but specific and exact one possible, may not sound too
bad to me.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help