Re: 'git stash list' vs. non-default 'log.date' setting

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: 'git stash list' vs. non-default 'log.date' setting

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:16

SZEDER Gábor [off-list ref] writes:
Fortunately, fixing 2) is a no-brainer:
I don't think it is a "no-brainer" to "fix" it, even though it may be so
to hack it around.  Having to give "--date=default" to "git log -g" to
cause it to show reflog entries in non-date format sounds like a terrible
UI bug to me.  I'd expect

    $ git log -g --date=default

to give you the logs in the default date format, overriding log.date, and
perhaps either of these

    $ git log -g --no-date
    $ git log -g --date=no
    $ git log -g --numbered

to countermand log.date and force it to show numbered entries.

I _think_ "git log -g" uses a hacky heuristics to choose between date/number
based on how you give the stating ref.  I personally do not like this dwim
very much, but it seems to be stable and established by now, so it may be
a good thing to use here instead:

    $ git log -g refs/stash@{0}
    $ git log -g refs/stash@{now}

Re: 'git stash list' vs. non-default 'log.date' setting

From: SZEDER Gábor <hidden>
Date: 2016-06-15 22:49:17

Hi,


On Mon, Aug 09, 2010 at 08:02:49AM -0700, Junio C Hamano wrote:
SZEDER Gábor [off-list ref] writes:
quoted
Fortunately, fixing 2) is a no-brainer:
I don't think it is a "no-brainer" to "fix" it, even though it may be so
to hack it around.  Having to give "--date=default" to "git log -g" to
cause it to show reflog entries in non-date format sounds like a terrible
UI bug to me.  I'd expect

    $ git log -g --date=default

to give you the logs in the default date format, overriding log.date
Indeed.  I was just trying to get back the old behavior quickly and
with minimal effort, and didn't think about what the default date
format should actually mean.
and perhaps either of these

    $ git log -g --no-date
    $ git log -g --date=no
    $ git log -g --numbered

to countermand log.date and force it to show numbered entries.
It never occured to me before that that number in @{<num>} in reflogs
is actually kind of a date format.  But since it seems to be the case,
a dedicated --date=<whatever> option for this format might be good to
have, although I don't think that this date format would be applicable
to regular logs.
I _think_ "git log -g" uses a hacky heuristics to choose between date/number
based on how you give the stating ref.  I personally do not like this dwim
very much, but it seems to be stable and established by now, so it may be
a good thing to use here instead:

    $ git log -g refs/stash@{0}
    $ git log -g refs/stash@{now}
I see the DWIMery in this case, but 'git stash list' uses
reflog-specific format specifiers to generate the list of stashes:

    git log --format="%gd: %gs" -g "$@" $ref_stash --

and unfortunately the %gd (and %gD) format specifier performs this
DWIMery only when log.date is not set, otherwise log.date takes over:

    $ git config --get log.date
    $ git log --format="%gd: %gs" -g refs/stash@{0}
    stash@{0}: On master: foo
    $ git log --format="%gd: %gs" -g refs/stash@{now}
    stash@{2010-08-09 17:41:37 +0200}: On master: foo
    $ git config log.date iso8601
    $ git log --format="%gd: %gs" -g refs/stash@{0}
    stash@{2010-08-09 17:41:37 +0200}: On master: foo
    $ git log --format="%gd: %gs" -g refs/stash@{now}
    stash@{2010-08-09 17:41:37 +0200}: On master: foo


Best,
Gábor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help