summaryrefslogtreecommitdiff
path: root/Documentation/git-rev-tree.txt
blob: 2ec7ed073bf0795016d2b0134c68c438cdc9c13e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
git-rev-tree(1)
===============
v0.1, May 2005

NAME
----
git-rev-tree - Provides the revision tree for one or more commits


SYNOPSIS
--------
'git-rev-tree' [--edges] [--cache <cache-file>] [^]<commit> [[^]<commit>]

DESCRIPTION
-----------
Provides the revision tree for one or more commits.

OPTIONS
-------
--edges::
	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.

[^]<commit>::
	The commit id to trace (a leading caret means to ignore this
	commit-id and below)

Output
------

        <date> <commit>:<flags> [<parent-commit>:<flags> ]\*

<date>::
	Date in 'seconds since epoch'

<commit>::
	id of commit object

<parent-commit>::
	id of each parent commit object (>1 indicates a merge)

<flags>::

	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
think.)


Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the link:git.html[git] suite