From: Jeff King <peff-AdEPDUrAXsQ@public.gmane.org>
To: Eli Barzilay <eli-oSK4jVRJLyZg9hUCZPvPmw@public.gmane.org>
Cc: Yann Hodique
<yann.hodique-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Andreas Schwab <schwab-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org>,
Junio C Hamano <gitster-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>,
git-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
magit-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: [PATCH 4/4] reflog-walk: always make HEAD@{0} show indexed selectors
Date: Fri, 4 May 2012 01:27:25 -0400 [thread overview]
Message-ID: <20120504052725.GD16107@sigill.intra.peff.net> (raw)
In-Reply-To: <20120504052106.GA15970-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
When we are showing reflog selectors during a walk, we infer
from context whether the user wanted to see the index in
each selector, or the reflog date. The current rules are:
1. if the user asked for an explicit date format in the
output, show the date
2. if the user asked for ref@{now}, show the date
3. if neither is true, show the index
However, if we see "ref@{0}", that should be a strong clue
that the user wants to see the counted version. In fact, it
should be much stronger than the date format in (1). The
user may have been setting the date format to use in another
part of the output (e.g., in --format="%gd (%ad)", they may
have wanted to influence the author date).
This patch flips the rules to:
1. if the user asked for ref@{0}, always show the index
2. if the user asked for ref@{now}, always show the date
3. otherwise, we have just "ref"; show them counted by
default, but respect the presence of "--date" as a clue
that the user wanted them date-based
Signed-off-by: Jeff King <peff-AdEPDUrAXsQ@public.gmane.org>
---
reflog-walk.c | 3 ++-
t/t1411-reflog-show.sh | 8 ++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/reflog-walk.c b/reflog-walk.c
index 3549318..b974258 100644
--- a/reflog-walk.c
+++ b/reflog-walk.c
@@ -276,7 +276,8 @@ void get_reflog_selector(struct strbuf *sb,
}
strbuf_addf(sb, "%s@{", printed_ref);
- if (commit_reflog->selector == SELECTOR_DATE || dmode) {
+ if (commit_reflog->selector == SELECTOR_DATE ||
+ (commit_reflog->selector == SELECTOR_NONE && dmode)) {
info = &commit_reflog->reflogs->items[commit_reflog->recno+1];
strbuf_addstr(sb, show_date(info->timestamp, info->tz, dmode));
} else {
diff --git a/t/t1411-reflog-show.sh b/t/t1411-reflog-show.sh
index 88247f8..7d9b5e3 100755
--- a/t/t1411-reflog-show.sh
+++ b/t/t1411-reflog-show.sh
@@ -127,6 +127,14 @@ test_expect_success 'log.date does not invoke "--date" magic (format=%gd)' '
test_cmp expect actual
'
+cat >expect <<'EOF'
+HEAD@{0}
+EOF
+test_expect_success '--date magic does not override explicit @{0} syntax' '
+ git log -g -1 --format=%gd --date=raw HEAD@{0} >actual &&
+ test_cmp expect actual
+'
+
: >expect
test_expect_success 'empty reflog file' '
git branch empty &&
--
1.7.10.1.10.ge534bc3
next prev parent reply other threads:[~2012-05-04 5:27 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-27 22:57 Bug in git-stash(.sh) ? Eli Barzilay
2012-04-27 23:02 ` Junio C Hamano
2012-04-28 0:16 ` Eli Barzilay
[not found] ` <CALO-gut4csy5wef4iGPGD5jVPc1f0iFBfS3MUWrOwc2yczdviw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
[not found] ` <m2pqasb8mr.fsf-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org>
[not found] ` <87wr4za9mr.fsf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-04-28 23:59 ` Eli Barzilay
2012-04-29 22:01 ` Jeff King
[not found] ` <20120429220132.GB4491-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
2012-04-29 22:26 ` Eli Barzilay
2012-05-01 13:42 ` Jeff King
[not found] ` <20120501134254.GA11900-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
2012-05-03 18:44 ` [git] " Eli Barzilay
[not found] ` <20386.53745.200846.115335-a5nvgYPMCZcx/1z6v04GWfZ8FUJU4vz8@public.gmane.org>
2012-05-04 5:21 ` Jeff King
2012-05-04 5:26 ` [PATCH 3/4] reflog-walk: clean up "flag" field of commit_reflog struct Jeff King
[not found] ` <20120504052106.GA15970-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
2012-05-04 5:23 ` [PATCH 1/4] t1411: add more selector index/date tests Jeff King
2012-05-04 5:25 ` [PATCH 2/4] log: respect date_mode_explicit with --format:%gd Jeff King
2012-05-04 5:27 ` Jeff King [this message]
[not found] ` <20120504052725.GD16107-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
2012-05-04 17:02 ` [PATCH 4/4] reflog-walk: always make HEAD@{0} show indexed selectors Junio C Hamano
[not found] ` <7v7gwrc212.fsf-s2KvWo2KEQL18tm6hw+yZpy9Z0UEorGK@public.gmane.org>
2012-05-07 21:37 ` Jeff King
[not found] ` <20120507213752.GA19911-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
2012-05-10 15:37 ` Jeff King
[not found] ` <20120510153754.GA23941-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
2012-05-10 16:39 ` Junio C Hamano
[not found] ` <7vd36cng6n.fsf-s2KvWo2KEQL18tm6hw+yZpy9Z0UEorGK@public.gmane.org>
2012-05-10 17:19 ` OT: gmane address mangling selectors Jeff King
[not found] ` <20120510171912.GA29972-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
2012-05-10 17:35 ` Eli Barzilay
2012-05-04 18:57 ` [git] Re: Bug in git-stash(.sh) ? Eli Barzilay
[not found] ` <20388.9885.608325.489624-a5nvgYPMCZcx/1z6v04GWfZ8FUJU4vz8@public.gmane.org>
2012-05-04 22:36 ` Eli Barzilay
2012-04-29 22:07 ` Junio C Hamano
[not found] ` <7vlilexkcq.fsf-s2KvWo2KEQL18tm6hw+yZpy9Z0UEorGK@public.gmane.org>
2012-04-29 22:37 ` Eli Barzilay
2012-05-01 15:02 ` Jeff King
2012-04-28 7:47 ` Andreas Schwab
2012-04-28 20:23 ` Yann Hodique
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120504052725.GD16107@sigill.intra.peff.net \
--to=peff-adepduraxsq@public.gmane.org \
--cc=eli-oSK4jVRJLyZg9hUCZPvPmw@public.gmane.org \
--cc=git-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=gitster-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org \
--cc=magit-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=schwab-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org \
--cc=yann.hodique-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/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.
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 NNTP newsgroup(s).