threads / discuss / 32238

git describe not matching git log

Subject: git describe not matching git log

## tl;dr

2 messages between Nov 29, 2012 and Nov 29, 2012.

replies: 1people: 2as markdown or json

Steven Penny· Nov 29, 2012, 09:04 UTC · lore

It seems "git describe" is not matching "git log" as detailed in the help, in some cases. From git describe --help

  [torvalds@g5 git]$ git describe parent
  v1.0.4-14-g2414721
  The number of additional commits is the number of commits which would
  be displayed by "git log v1.0.4..parent".
GOOD
  $ git clone git://github.com/antirez/redis.git
  $ cd redis
  $ git describe unstable
  with-deprecated-diskstore-1050-g7383c3b
  $ git log --oneline with-deprecated-diskstore..unstable | wc
     1050   11779   78709
BAD
  $ git clone git://github.com/git/git.git
  $ cd git
  $ git describe master
  v1.8.0.1-264-g226dcb5
  $ git log --oneline v1.8.0.1..master | wc
      260    1650   14154
Michael J Gruber· Nov 29, 2012, 14:06 UTC · re: Steven Penny · lore

Re: git describe not matching git log

Steven Penny venit, vidit, dixit 29.11.2012 10:04:
Show 33 quoted lines
> It seems "git describe" is not matching "git log" as detailed in the help, in
> some cases. From git describe --help
> 
>   [torvalds@g5 git]$ git describe parent
>   v1.0.4-14-g2414721
> 
>   The number of additional commits is the number of commits which would
>   be displayed by "git log v1.0.4..parent".
> 
> GOOD
> 
>   $ git clone git://github.com/antirez/redis.git
> 
>   $ cd redis
> 
>   $ git describe unstable
>   with-deprecated-diskstore-1050-g7383c3b
> 
>   $ git log --oneline with-deprecated-diskstore..unstable | wc
>      1050   11779   78709
> 
> BAD
> 
>   $ git clone git://github.com/git/git.git
> 
>   $ cd git
> 
>   $ git describe master
>   v1.8.0.1-264-g226dcb5
> 
>   $ git log --oneline v1.8.0.1..master | wc
>       260    1650   14154
> 

This is due to date skew: git-describe uses "insert_by_date" when it traverses the dag, and this can go wrong.

Interestingling, this seems to get fixed by using Jeff's generation numbers and "insert_by_generation" instead, so it does seem go wrong for 226dcb5~60 or so. git-describe's logic is a bit convoluted and may depend on how we insert when generation numbers are the same... Have to do more testing.

Michael

← back to recent threads