git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* bug in 'git describe'?
@ 2018-09-24 21:45 Sebastian Kuzminsky
  2018-09-24 22:24 ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Sebastian Kuzminsky @ 2018-09-24 21:45 UTC (permalink / raw)
  To: git

I think I've run in to a bug in 'git describe' (reproduced with git 
2.11.0, 2.16.1, and 2.19.0.221.g150f307af).

I've got two tiny git repos whose commit graphs are identical, but where 
'git describe' gives different results.

>     *   merge 1.1 into 2.0  (HEAD -> release-2.0)
>     |\
>     | *   merge boo into 1.1  (tag: release/1.1.1, release-1.1)
>     | |\
>     | | * dummy commit  (boo)
>     | * | dummy commit  (tag: release/1.1.0)
>     * | |   merge feature into 2.0
>     |\ \ \
>     | * | | dummy commit  (feature)
>     |/ / /
>     * | | dummy commit  (tag: release/2.0.1)
>     * | | dummy commit  (tag: release/2.0.0)
>     |/ /
>     * | dummy commit  (release-1.0)
>     |/
>     * dummy commit  (tag: release/1.0.0)

The tag 'release/1.0.0' is the first commit in history.

The histories differ only in the timestamps of the commits (and thus the 
SHAs of the commit objects).

Good repo: release/2.0.1-6-gbc33a04
Bad repo: release/2.0.1-8-g2c0a20c

Details, including full copies of both repos, here:

http://highlab.com/~seb/git-describe-bug/


-- 
Sebastian Kuzminsky

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug in 'git describe'?
  2018-09-24 21:45 bug in 'git describe'? Sebastian Kuzminsky
@ 2018-09-24 22:24 ` Junio C Hamano
  2018-09-25 15:39   ` Sebastian Kuzminsky
  0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2018-09-24 22:24 UTC (permalink / raw)
  To: Sebastian Kuzminsky; +Cc: git

Sebastian Kuzminsky <seb@highlab.com> writes:

> I've got two tiny git repos whose commit graphs are identical, but
> where 'git describe' gives different results.
> ...
> The histories differ only in the timestamps of the commits...

describe does take the commit timestamps into account, so it is
expected you would get different results out of an otherwise
identically looking graph.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug in 'git describe'?
  2018-09-24 22:24 ` Junio C Hamano
@ 2018-09-25 15:39   ` Sebastian Kuzminsky
  2018-09-25 16:05     ` Duy Nguyen
  0 siblings, 1 reply; 5+ messages in thread
From: Sebastian Kuzminsky @ 2018-09-25 15:39 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On 9/24/18 4:24 PM, Junio C Hamano wrote:
> Sebastian Kuzminsky <seb@highlab.com> writes:
> 
>> I've got two tiny git repos whose commit graphs are identical, but 
>> where 'git describe' gives different results. ... The histories
>> differ only in the timestamps of the commits...
> 
> describe does take the commit timestamps into account, so it is 
> expected you would get different results out of an otherwise 
> identically looking graph.

Thanks for that confirmation.

That behavior seems to me to be different from what the (2.11) manpage says:

> it suffixes the tag name with the number of additional commits on top
> of the tagged object


And:

> If multiple tags were found during the walk then the tag which has
> the fewest commits different from the input commit-ish will be
> selected and output. Here fewest commits different is defined as the
> number of commits which would be shown by git log tag..input will be
> the smallest number of commits possible.

All that said, if you consider this "working as expected" then i'm 
content to let the matter drop.


-- 
Sebastian Kuzminsky

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug in 'git describe'?
  2018-09-25 15:39   ` Sebastian Kuzminsky
@ 2018-09-25 16:05     ` Duy Nguyen
  2018-09-25 16:10       ` Duy Nguyen
  0 siblings, 1 reply; 5+ messages in thread
From: Duy Nguyen @ 2018-09-25 16:05 UTC (permalink / raw)
  To: seb; +Cc: Junio C Hamano, Git Mailing List

On Tue, Sep 25, 2018 at 5:41 PM Sebastian Kuzminsky <seb@highlab.com> wrote:
> That behavior seems to me to be different from what the (2.11) manpage says:

Good opportunity to improve the man page anyway even if Junio is
right. I agree that the section about "search strategy" is a bit
misleading because it does not mention anything about time stuff.

>
> > it suffixes the tag name with the number of additional commits on top
> > of the tagged object
>
>
> And:
>
> > If multiple tags were found during the walk then the tag which has
> > the fewest commits different from the input commit-ish will be
> > selected and output. Here fewest commits different is defined as the
> > number of commits which would be shown by git log tag..input will be
> > the smallest number of commits possible.
-- 
Duy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug in 'git describe'?
  2018-09-25 16:05     ` Duy Nguyen
@ 2018-09-25 16:10       ` Duy Nguyen
  0 siblings, 0 replies; 5+ messages in thread
From: Duy Nguyen @ 2018-09-25 16:10 UTC (permalink / raw)
  To: seb; +Cc: Junio C Hamano, Git Mailing List

On Tue, Sep 25, 2018 at 6:05 PM Duy Nguyen <pclouds@gmail.com> wrote:
>
> On Tue, Sep 25, 2018 at 5:41 PM Sebastian Kuzminsky <seb@highlab.com> wrote:
> > That behavior seems to me to be different from what the (2.11) manpage says:
>
> Good opportunity to improve the man page anyway even if Junio is
> right. I agree that the section about "search strategy" is a bit
> misleading because it does not mention anything about time stuff.

If anybody's updating the man page, I think this is the commit that
changed git-describe's search strategy: 80dbae03b0 (Chose better tag
names in git-describe after merges. - 2007-01-10)

--
Duy

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-09-25 16:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-24 21:45 bug in 'git describe'? Sebastian Kuzminsky
2018-09-24 22:24 ` Junio C Hamano
2018-09-25 15:39   ` Sebastian Kuzminsky
2018-09-25 16:05     ` Duy Nguyen
2018-09-25 16:10       ` Duy Nguyen

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).