git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eli Barzilay <eli-oSK4jVRJLyZg9hUCZPvPmw@public.gmane.org>
To: Jeff King <peff-AdEPDUrAXsQ@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>,
	Eli Barzilay
	<public-eli-oSK4jVRJLyZg9hUCZPvPmw-wOFGN7rlS/M9smdsby/KFg@public.gmane.org>,
	git-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Eli Barzilay
	<public-eli-oSK4jVRJLyZg9hUCZPvPmw-wOFGN7rlS/M9smdsby/KFg@public.gmane.org>,
	magit-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: Bug in git-stash(.sh) ?
Date: Sun, 29 Apr 2012 18:26:36 -0400	[thread overview]
Message-ID: <20381.49180.329586.983166@winooski.ccs.neu.edu> (raw)
In-Reply-To: <20120429220132.GB4491-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>

A few minutes ago, Jeff King wrote:
> On Sat, Apr 28, 2012 at 07:59:37PM -0400, Eli Barzilay wrote:
> 
> > > How exactly do you make magit generate these calls?  AFAICT, Magit
> > > should operate on whatever "git stash list" outputs, meaning
> > > stash@{N}. So I guess I'm missing something.
> > 
> > ... right: the offending configuration I had was log.date = iso.  This
> > calls for a simple chane for git-stash.sh to use `--date default':
> > 
> > 	git log --date default --format="%gd: %gs" -g "$@" $ref_stash --
> 
> I seem to remember dealing with this once a long time ago. And while
> "--date=default" works, it is papering over the symptom of a larger
> problem, which is that "log" should not use a non-commandline date
> to make the stash selector decision. Searching turned up this
> discussion:
> 
>   http://thread.gmane.org/gmane.comp.version-control.git/128569

Ah, that looks like almost exactly the problem I started with...


> which led to f4ea32f (improve reflog date/number heuristic,
> 2009-09-24).  That fixed the case of:
> 
>   git config log.date iso
>   git log -g --oneline
> 
> But later, 8f8f547 (Introduce new pretty formats %g[sdD] for reflog
> information, 2009-10-19) added another way to show selectors, and it
> did not respect the date_mode_explicit flag from f4ea32f. Which I
> think is a bug.
> 
> So the right solution is to pass the date_mode_explicit flag through
> to the pretty-print --format code, and then pass it along to the
> reflog code.

Assuming that I followed all of that correctly, it still seems bogus
to do that, given that %gd and %gD are described as producing reflog
selector, and given that Junio's note that stash operations are really
intended to be used only with these selectos.  What looks more
sensible to me given the necessity of %gd (and the fact that it's
different from %cd/%ad) is to change things as follows:

  * %gd produces only the date, with the "default" having the same
    meaning as elsewhere (so it doesn't show the index numbers)
  * %gD is useless
  * Some new %gi uses the index number: stash@{1}, and %gI produces
    refs/stash@{1}, unrelated to any date setting
  * git-stash.sh uses %gi so the output has the numbers
  * Some new option for "stash list" for the format string, so it's
    possible to show the dates if you want to with something like
    git stash list --format:"%gi: %gs (%gd)"

With this the output has the number independent of log.date setting,
and I get a --format if I want to see something else, which makes more
sense than --date being explicit or not.  IOW, I'd expect this:

>   git stash list --date=iso

to not have any effect.

This is not a backwards compatible change, but my guess is that
existing uses of %g[dD] are suffering from a similar problem anyway.
(So another option maybe making %gd use the number and something else
for the date version.)

(But my opinion is of course limited to my short encounter with all of
this...)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

  parent reply	other threads:[~2012-04-29 22:26 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 [this message]
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
     [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                               ` [PATCH 4/4] reflog-walk: always make HEAD@{0} show indexed selectors Jeff King
     [not found]                                 ` <20120504052725.GD16107-bBVMEuqLR+SYVEpFpFwlB0AkDMvbqDRI@public.gmane.org>
2012-05-04 17:02                                   ` 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-05-04  5:26                             ` [PATCH 3/4] reflog-walk: clean up "flag" field of commit_reflog struct Jeff King
2012-04-29 22:07             ` Bug in git-stash(.sh) ? 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=20381.49180.329586.983166@winooski.ccs.neu.edu \
    --to=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=peff-AdEPDUrAXsQ@public.gmane.org \
    --cc=public-eli-oSK4jVRJLyZg9hUCZPvPmw-wOFGN7rlS/M9smdsby/KFg@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).