File: git-forest.1

package info (click to toggle)
hxtools 20251011-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,468 kB
  • sloc: ansic: 4,384; perl: 3,467; sh: 1,664; cpp: 353; makefile: 90
file content (115 lines) | stat: -rw-r--r-- 2,805 bytes parent folder | download
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
.TH "git-forest" 1 "2008-07-06" "hxtools" "hxtools"
.SH Name
.TP
git-forest \(em display the commit history forest
.SH Syntax
\fBgit\-forest\fP
[\fB\-a\fP] [\fB\-\-no\-rebase\fP] [\fB\-\-style=\fP\fInumber\fP]
[\fB\-\-sha\fP] [\fB\-\-svdepth=\fP\fIdepth\fP] [\fIrev\-list\-options\fP]
[\fIrefspec\fP...]
.SH Description
git-forest is a command-line zero-lookahead git repository history
visualizer with Unicode output with a bit of gitk resemblance.
.SS Why another program?
The tree visualization of gitk is very useful, but there were (git 1.5.4
timeframe) no decent visualizers that can run in a console window, without the
need to have X around (which gitk depends on). tig has numerous limitations,
it cannot display octopus merges or octopus branching. As of git 1.5.6, there
are still no other Unicode-output programs known to me.
.SH Options
.TP
\fB\-a\fP
Display author for each commit.
.TP
\fB\-\-no\-rebase\fP
Do not show the rebase pseudo-refs.
.TP
\fB\-\-style=1\fP
Use single-line visuals (default).
.TP
\fB\-\-style=2\fP
Use double-line visuals.
.TP
\fB\-\-style=10\fP
Use specific rounded Unicode visuals for edges; glyphs might only be available
with X11 terminals and appropriate fonts.
.TP
\fB\-\-style=15\fP
Use single bold-line visuals. Not readily usable with VGA console fonts
without special unimaps.
.TP
\fB\-\-sha\fP
Display (abbreviated) SHAs for each commit.
.TP
\fB\-\-svdepth=\fP\fIdistance\fP
This option controls the maximum look-ahead window. If M0's parent (M1) appears
within \fIdistance\fP or fewer lines of M0, a "sub-vine" will be drawn in the
space between the regular vines.
.br
Default: \fI3\fP
.RS 8
.PP
.nf
$ git\-forest \-\-svdepth=3 \-\-topo\-order
┌─ M0: Merge G into M
├─┐
│ ├ G0
│ ├ G1: Merge N into G
│ ├─┐
│ │ ├ N0
│ │ ├ N1
│ │ ├ N2
│ │ ├ N3
├─┘ │
├   │ G2/M1
├───┘
└ N4/M2

$ git\-forest \-\-svdepth=5 \-\-topo\-order
┌─ M0: Merge G into M
├─┐
│ ├ G0
│ ├ G1: Merge N in to G
│┌┤
││├ N0
││├ N1
││├ N2
││├ N3
├┘│
├ │ G2/M1
├─┘
└ N4/M2
.fi
.PP
For comparison, this is the date\-order representation of this example, in case
you want to reproduce it:
.nf
$ git\-forest \-\-date\-order
┌─ M0: Merge G into M
├─┐
│ ├ G0
│ ├ G1: Merge N into G
│┌┤
├┘│
├ │ G2/M1
│ ├ N0
│ ├ N1
│ ├ N2
│ ├ N3
├─┘
└ N4/M2
.fi
.RE
.PP
All other options and arguments are passed down to git\-log. Commonly useful
options are \-\-all and \-\-topo\-order.
.SH Examples
.nf
git\-forest \-\-all | less \-RS
git\-forest origin/master | less \-RS
.fi
.PP
This tool does not try to minimize the empty space between branches like gitk
does. Take it as a feature.
.SH See also
\fBhxtools\fP(7)