Re: git-describe --contains fails on given tree

Previous thread: Re: using git-svn with --no-metadata by Eric Wong on Saturday, August 21, 2010 - 11:37 am. (5 messages)

Next thread: [PATCH 0/2] log/ format-patch improvements by Ramkumar Ramachandra on Saturday, August 21, 2010 - 1:28 pm. (11 messages)
From: Jan Engelhardt
Date: Saturday, August 21, 2010 - 12:47 pm

Hi,



for some reason, git-describe cannot figure out v1.17~15^2^2 in
the pam_mount tree, despite me being able to actually give
a description that would fit the contains syntax:

$ git clone
git://pam-mount.git.sf.net/gitroot/pam-mount/pam-mount
Initialized empty Git repository in /dev/shm/pam-mount/.git/
remote: Counting objects: 7261, done.
remote: Compressing objects: 100% (1819/1819), done.
remote: Total 7261 (delta 5557), reused 6990 (delta 5348)
Receiving objects: 100% (7261/7261), 1.40 MiB | 832 KiB/s, done.
Resolving deltas: 100% (5557/5557), done.

$ cd pam-mount/
$ git describe --contains v1.17~15^2^2
fatal: cannot describe '95ce932690dfce8cbe50b6a3a8949e41a54c8966'

(Expected to get back: v1.17~15^2^2)

Why would it not want to return something? Possible bug?

Using git 1.7.1 on openSUSE 11.3.


thanks,
Jan
--

From: Jakub Narebski
Date: Saturday, August 21, 2010 - 12:55 pm

Is v1.17 an *annotated* tag?  What does

  $ git describe --contains --tags v1.17~15^2^2

return?

-- 
Jakub Narebski
Poland
ShadeHawk on #git
--

From: Jan Engelhardt
Date: Saturday, August 21, 2010 - 1:42 pm

It certainly is (if it were not, there be no tag, just commit):

$ git show v1.17
tag v1.17
Tagger: Jan Engelhardt <jengelh@medozas.de>
Date:   Mon Jan 26 00:41:17 2009 +0100

pam_mount 1.17
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEABECAAYFAkl8+J8ACgkQ92gFgoRMQ2Dd7QCeJj/u543aBiK/Los8LgvdkR/1
6nwAnA/CB23vjxFpVWsKZIW99GHxDglX
=yLqV

"Cannot describe 95ce..."

Funny thing is, describing "v1.17~15^2" does work, as does "v1.17~15^1".
--

From: Thomas Rast
Date: Sunday, August 22, 2010 - 2:58 pm

That's clock skew:

  $ git show -s --format="%cd" v1.17~15^2 
  Fri Jan 9 04:35:59 2009 +0100

  $ git show -s --format="%cd" v1.17~15^2^2
  Sat Jan 24 16:35:34 2009 +0100

Note how the parent commit is far newer than the child.  git-name-rev
(which is what really drives git describe --contains) concludes that
it can stop searching along this line of history.

Interestingly, --stdin disables this optimization:

  $ git rev-parse v1.17~15^2^2 | git name-rev --stdin
  95ce932690dfce8cbe50b6a3a8949e41a54c8966 (tags/v1.17~15^2^2)

-- 
Thomas Rast
trast@{inf,student}.ethz.ch
--

From: Jan Engelhardt
Date: Monday, August 23, 2010 - 4:26 am

Thanks for pointing that out.
--

Previous thread: Re: using git-svn with --no-metadata by Eric Wong on Saturday, August 21, 2010 - 11:37 am. (5 messages)

Next thread: [PATCH 0/2] log/ format-patch improvements by Ramkumar Ramachandra on Saturday, August 21, 2010 - 1:28 pm. (11 messages)