blob: 2ec7ed073bf0795016d2b0134c68c438cdc9c13e [file] [log] [blame]
v0.1, May 2005
git-rev-tree - Provides the revision tree for one or more commits
'git-rev-tree' [--edges] [--cache <cache-file>] [^]<commit> [[^]<commit>]
Provides the revision tree for one or more commits.
Show edges (ie places where the marking changes between parent
and child)
--cache <cache-file>::
Use the specified file as a cache from a previous git-rev-list run
to speed things up. Note that this "cache" is totally different
concept from the directory index. Also this option is not
implemented yet.
The commit id to trace (a leading caret means to ignore this
commit-id and below)
<date> <commit>:<flags> [<parent-commit>:<flags> ]\*
Date in 'seconds since epoch'
id of commit object
id of each parent commit object (>1 indicates a merge)
The flags are read as a bitmask representing each commit
provided on the commandline. eg: given the command:
$ git-rev-tree <com1> <com2> <com3>
The output:
<date> <commit>:5
means that <commit> is reachable from <com1>(1) and <com3>(4)
A revtree can get quite large. "git-rev-tree" will eventually allow
you to cache previous state so that you don't have to follow the whole
thing down.
So the change difference between two commits is literally
git-rev-tree [commit-id1] > commit1-revtree
git-rev-tree [commit-id2] > commit2-revtree
join -t : commit1-revtree commit2-revtree > common-revisions
(this is also how to find the most common parent - you'd look at just
the head revisions - the ones that aren't referred to by other
revisions - in "common-revision", and figure out the best one. I
Written by Linus Torvalds <>
Documentation by David Greaves, Junio C Hamano and the git-list <>.
Part of the link:git.html[git] suite