Francis Moreau wrote: > On Tue, Jun 14, 2011 at 11:00 AM, Jakub Narebski <jnareb@xxxxxxxxx> wrote: > > Francis Moreau <francis.moro@xxxxxxxxx> writes: > > > > > I have a given revision (tag, sha1 ...) and I'd like to know if that > > > revisions corresponds to what the current HEAD is pointing at. > > > > > > Could anybody give me some advices for achieving this ? > > > > If you want to know if given revision (or ref) points at the same > > thing as HEAD, you can use > > > > [ "$(git rev-parse HEAD)" = "$(git rev-parse $ref^{commit})" ] > > > > or something like that. The '^{commit}' is here in case $ref points > > only indirectly to commit, via a tag object. > > > > I see thanks. > > I'm not sure what the ^{commit} is for because in the case of tag > object, git-rev-parse seems to work fine without the suffix: > > git rev-parse v2.6.39 > 8b0753a3df28c21b0570fa21362c5f1b3b4f59bf > > This is in a kernel git repository But that is the SHA-1 id of a _tag object_, not of commit (revision) it points to. '^{}' means peel to not tag, '^{commit}' means peel to commit. In git repository: $ git rev-parse v1.7.5 4d2f8aeba22578022e2d2a56dac37fcdf78d82d4 $ git rev-parse v1.7.5^{} ec014eac0e9e6f30cbbca616090fa2ecf74797e7 $ git rev-parse v1.7.5^{commit} ec014eac0e9e6f30cbbca616090fa2ecf74797e7 $ git cat-file -t 4d2f8aeba22578022e2d2a56dac37fcdf78d82d4 tag $ git cat-file -t ec014eac0e9e6f30cbbca616090fa2ecf74797e7 commit $ git cat-file -t HEAD commit -- Jakub Narebski Poland -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html