Blame


1 030916b5 2018-07-12 stsp .\"
2 030916b5 2018-07-12 stsp .\" Copyright (c) 2018 Stefan Sperling
3 030916b5 2018-07-12 stsp .\"
4 030916b5 2018-07-12 stsp .\" Permission to use, copy, modify, and distribute this software for any
5 030916b5 2018-07-12 stsp .\" purpose with or without fee is hereby granted, provided that the above
6 030916b5 2018-07-12 stsp .\" copyright notice and this permission notice appear in all copies.
7 030916b5 2018-07-12 stsp .\"
8 030916b5 2018-07-12 stsp .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 030916b5 2018-07-12 stsp .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 030916b5 2018-07-12 stsp .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 030916b5 2018-07-12 stsp .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 030916b5 2018-07-12 stsp .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 030916b5 2018-07-12 stsp .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 030916b5 2018-07-12 stsp .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 030916b5 2018-07-12 stsp .\"
16 030916b5 2018-07-12 stsp .Dd $Mdocdate$
17 030916b5 2018-07-12 stsp .Dt TOG 1
18 030916b5 2018-07-12 stsp .Os
19 030916b5 2018-07-12 stsp .Sh NAME
20 030916b5 2018-07-12 stsp .Nm tog
21 aee2a8bd 2019-08-05 stsp .Nd Git repository browser
22 030916b5 2018-07-12 stsp .Sh SYNOPSIS
23 030916b5 2018-07-12 stsp .Nm
24 0a58e722 2022-10-04 thomas .Op Fl hV
25 0a58e722 2022-10-04 thomas .Ar command
26 030916b5 2018-07-12 stsp .Op Ar arg ...
27 ee85c5e8 2020-02-29 stsp .Pp
28 ee85c5e8 2020-02-29 stsp .Nm
29 ee85c5e8 2020-02-29 stsp .Ar path
30 030916b5 2018-07-12 stsp .Sh DESCRIPTION
31 030916b5 2018-07-12 stsp .Nm
32 aee2a8bd 2019-08-05 stsp is an interactive read-only browser for Git repositories.
33 030916b5 2018-07-12 stsp This repository format is described in
34 5e5560e1 2018-08-01 stsp .Xr git-repository 5 .
35 030916b5 2018-07-12 stsp .Pp
36 030916b5 2018-07-12 stsp .Nm
37 0cf4efb1 2018-09-29 stsp supports several types of views which display repository data:
38 87aa0e98 2018-08-18 stsp .Bl -tag -width Ds
39 9419758a 2019-03-27 stsp .It Log view
40 87aa0e98 2018-08-18 stsp Displays commits in the repository's history.
41 87aa0e98 2018-08-18 stsp This view is displayed initially if no
42 87aa0e98 2018-08-18 stsp .Ar command
43 ee85c5e8 2020-02-29 stsp is specified, or if just a
44 ee85c5e8 2020-02-29 stsp .Ar path
45 87aa0e98 2018-08-18 stsp is specified.
46 9419758a 2019-03-27 stsp .It Diff view
47 87aa0e98 2018-08-18 stsp Displays changes made in a particular commit.
48 9419758a 2019-03-27 stsp .It Blame view
49 87aa0e98 2018-08-18 stsp Displays the line-by-line history of a file.
50 9419758a 2019-03-27 stsp .It Tree view
51 87aa0e98 2018-08-18 stsp Displays the tree corresponding to a particular commit.
52 38cb327b 2020-11-24 stsp .It Ref view
53 38cb327b 2020-11-24 stsp Displays references in the repository.
54 87aa0e98 2018-08-18 stsp .El
55 87aa0e98 2018-08-18 stsp .Pp
56 87aa0e98 2018-08-18 stsp .Nm
57 87aa0e98 2018-08-18 stsp provides global and command-specific key bindings and options.
58 07b0611c 2022-06-23 thomas Some command-specific key bindings may be prefixed with an integer, which is
59 07b0611c 2022-06-23 thomas denoted by N in the descriptions below, and is used as a modifier to the
60 07b0611c 2022-06-23 thomas operation as indicated.
61 07b0611c 2022-06-23 thomas .Nm
62 fa502711 2022-07-03 thomas will echo digits to the screen when count modifiers are entered, and complete
63 fa502711 2022-07-03 thomas the sequence upon input of the first non-numeric character.
64 fa502711 2022-07-03 thomas Count modifiers can be aborted by entering an unmapped key.
65 634cb454 2022-07-03 thomas Once a compound command is executed, the operation can be cancelled with
66 634cb454 2022-07-03 thomas .Cm C-g
67 634cb454 2022-07-03 thomas or
68 634cb454 2022-07-03 thomas .Cm Backspace .
69 ee0cf61c 2022-10-05 thomas .Pp
70 ee0cf61c 2022-10-05 thomas Global options must precede the command name, and are as follows:
71 ee0cf61c 2022-10-05 thomas .Bl -tag -width tenletters
72 ee0cf61c 2022-10-05 thomas .It Fl h
73 ee0cf61c 2022-10-05 thomas Display usage information.
74 ee0cf61c 2022-10-05 thomas .It Fl V , -version
75 ee0cf61c 2022-10-05 thomas Display program version and exit immediately.
76 ee0cf61c 2022-10-05 thomas .El
77 7faa2de4 2022-07-12 thomas .Pp
78 87aa0e98 2018-08-18 stsp The global key bindings are:
79 87aa0e98 2018-08-18 stsp .Bl -tag -width Ds
80 fc2737d5 2022-09-15 thomas .It Cm H, F1
81 fc2737d5 2022-09-15 thomas Display run-time help.
82 fc2737d5 2022-09-15 thomas Key bindings for the focussed view will be displayed.
83 fc2737d5 2022-09-15 thomas Pressing this again inside the help view will toggle the display of
84 fc2737d5 2022-09-15 thomas key bindings for all
85 fc2737d5 2022-09-15 thomas .Nm
86 fc2737d5 2022-09-15 thomas views.
87 87aa0e98 2018-08-18 stsp .It Cm Q
88 87aa0e98 2018-08-18 stsp Quit
89 87aa0e98 2018-08-18 stsp .Nm .
90 87aa0e98 2018-08-18 stsp .It Cm q
91 87aa0e98 2018-08-18 stsp Quit the view which is in focus.
92 87aa0e98 2018-08-18 stsp .It Cm Tab
93 c0d30c23 2018-10-07 stsp Switch focus between views.
94 1c5e5faa 2022-06-23 thomas .It Cm F
95 c0d30c23 2018-10-07 stsp Toggle fullscreen mode for a split-screen view.
96 e9b3576f 2019-03-27 stsp .Nm
97 b1c950bf 2022-07-12 thomas will automatically use vertical split-screen views if the size of the
98 b1c950bf 2022-07-12 thomas terminal window is sufficiently large.
99 64486692 2022-07-07 thomas .It Cm S
100 569abcd7 2022-07-12 thomas Switch the current split-screen layout, and render all active views in
101 569abcd7 2022-07-12 thomas this new layout.
102 b1c950bf 2022-07-12 thomas The split-screen layout can be either vertical or horizontal.
103 569abcd7 2022-07-12 thomas If the terminal is not wide enough when switching to a vertical split,
104 569abcd7 2022-07-12 thomas views will render in fullscreen.
105 53d2bdd3 2022-07-10 thomas .It Cm -
106 53d2bdd3 2022-07-10 thomas When in a split-screen view, decrease the size of the focussed split
107 53d2bdd3 2022-07-10 thomas N increments (default: 1).
108 53d2bdd3 2022-07-10 thomas .It Cm +
109 53d2bdd3 2022-07-10 thomas When in a split-screen view, increase the size of the focussed split
110 53d2bdd3 2022-07-10 thomas N increments (default: 1).
111 07dd3ed3 2022-08-06 thomas .It Cm G
112 07dd3ed3 2022-08-06 thomas Go to line N in the view (default: last line).
113 07dd3ed3 2022-08-06 thomas .It Cm g
114 07dd3ed3 2022-08-06 thomas Go to line N in the view (default: first line).
115 c72de8ab 2023-02-03 thomas .It Cm Right-arrow, l
116 c72de8ab 2023-02-03 thomas Scroll view to the right N increments (default: 1).
117 c72de8ab 2023-02-03 thomas .br
118 c72de8ab 2023-02-03 thomas Output moves left on the screen.
119 c72de8ab 2023-02-03 thomas .It Cm Left-arrow, h
120 c72de8ab 2023-02-03 thomas Scroll view to the left N increments (default: 1).
121 c72de8ab 2023-02-03 thomas .br
122 c72de8ab 2023-02-03 thomas Output moves right on the screen.
123 c72de8ab 2023-02-03 thomas .It Cm $
124 c72de8ab 2023-02-03 thomas Scroll view to the rightmost position.
125 c72de8ab 2023-02-03 thomas .It Cm 0
126 c72de8ab 2023-02-03 thomas Scroll view left to the start of the line.
127 030916b5 2018-07-12 stsp .El
128 030916b5 2018-07-12 stsp .Pp
129 030916b5 2018-07-12 stsp The commands for
130 030916b5 2018-07-12 stsp .Nm
131 030916b5 2018-07-12 stsp are as follows:
132 030916b5 2018-07-12 stsp .Bl -tag -width blame
133 56c96eff 2022-08-30 thomas .It Xo
134 56c96eff 2022-08-30 thomas .Cm log
135 56c96eff 2022-08-30 thomas .Op Fl b
136 56c96eff 2022-08-30 thomas .Op Fl c Ar commit
137 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
138 56c96eff 2022-08-30 thomas .Op Ar path
139 56c96eff 2022-08-30 thomas .Xc
140 030916b5 2018-07-12 stsp Display history of a repository.
141 ecb28ae0 2018-07-16 stsp If a
142 ecb28ae0 2018-07-16 stsp .Ar path
143 ecb28ae0 2018-07-16 stsp is specified, show only commits which modified this path.
144 dc990cbf 2020-02-22 stsp If invoked in a work tree, the
145 dc990cbf 2020-02-22 stsp .Ar path
146 dc990cbf 2020-02-22 stsp is interpreted relative to the current working directory,
147 dc990cbf 2020-02-22 stsp and the work tree's path prefix is implicitly prepended.
148 dc990cbf 2020-02-22 stsp Otherwise, the path is interpreted relative to the repository root.
149 030916b5 2018-07-12 stsp .Pp
150 030916b5 2018-07-12 stsp This command is also executed if no explicit command is specified.
151 030916b5 2018-07-12 stsp .Pp
152 030916b5 2018-07-12 stsp The key bindings for
153 030916b5 2018-07-12 stsp .Cm tog log
154 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
155 030916b5 2018-07-12 stsp .Bl -tag -width Ds
156 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, >, Full stop, Ctrl-n
157 07b0611c 2022-06-23 thomas Move the selection cursor down N lines (default: 1).
158 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, <, Comma, Ctrl-p
159 07b0611c 2022-06-23 thomas Move the selection cursor up N lines (default: 1).
160 4c2d69cb 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
161 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
162 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
163 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
164 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
165 07b0611c 2022-06-23 thomas Move the selection cursor down N half pages (default: 1).
166 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
167 07b0611c 2022-06-23 thomas Move the selection cursor up N half pages (default: 1).
168 aa7a1117 2023-01-09 thomas .It Cm Home, =
169 912a3f79 2021-08-30 j Move the cursor to the newest commit.
170 aa7a1117 2023-01-09 thomas .It Cm End, *
171 912a3f79 2021-08-30 j Move the cursor to the oldest commit.
172 1dd93b2a 2021-08-30 stsp This will traverse all commits on the current branch which may take
173 1dd93b2a 2021-08-30 stsp a long time depending on the number of commits in branch history.
174 4b06140e 2022-03-22 thomas If needed, this operation can be cancelled with
175 634cb454 2022-07-03 thomas .Cm C-g
176 634cb454 2022-07-03 thomas or
177 9ebbe6e1 2021-08-30 stsp .Cm Backspace .
178 aa7a1117 2023-01-09 thomas .It Cm g
179 aa7a1117 2023-01-09 thomas Move the cursor to commit N (default: 1).
180 aa7a1117 2023-01-09 thomas .It Cm G
181 aa7a1117 2023-01-09 thomas Like
182 aa7a1117 2023-01-09 thomas .Cm g
183 aa7a1117 2023-01-09 thomas but defaults to the oldest commit.
184 4c2d69cb 2022-06-23 thomas .It Cm Enter
185 c0d30c23 2018-10-07 stsp Open a
186 030916b5 2018-07-12 stsp .Cm diff
187 030916b5 2018-07-12 stsp view showing file changes made in the currently selected commit.
188 1be4947a 2022-07-22 thomas .It Cm T
189 a60a9dc4 2019-05-13 jcs Open a
190 030916b5 2018-07-12 stsp .Cm tree
191 030916b5 2018-07-12 stsp view showing the tree for the currently selected commit.
192 5036bf37 2018-09-24 stsp .It Cm Backspace
193 26f0cb24 2021-08-30 j Show log entries for the parent directory of the currently selected path.
194 26f0cb24 2021-08-30 j However when an active search is in progress or when additional commits
195 26f0cb24 2021-08-30 j are loaded,
196 678cbce5 2019-07-28 stsp .Cm Backspace
197 26f0cb24 2021-08-30 j aborts the running operation.
198 60493ae3 2019-06-20 stsp .It Cm /
199 60493ae3 2019-06-20 stsp Prompt for a search pattern and start searching for matching commits.
200 60493ae3 2019-06-20 stsp The search pattern is an extended regular expression which is matched
201 df0b3d8a 2019-06-28 stsp against a commit's author name, committer name, log message, and
202 df0b3d8a 2019-06-28 stsp commit ID SHA1 hash.
203 e6c76b79 2019-06-21 stsp Regular expression syntax is documented in
204 e6c76b79 2019-06-21 stsp .Xr re_format 7 .
205 7e8004ba 2022-09-11 thomas .It Cm &
206 aadc20e8 2022-09-23 thomas Prompt for a pattern and limit the log view's list of commits to those
207 aadc20e8 2022-09-23 thomas which match the pattern.
208 aadc20e8 2022-09-23 thomas If no pattern is specified, i.e. the
209 aadc20e8 2022-09-23 thomas .Cm &
210 aadc20e8 2022-09-23 thomas prompt is immediately closed with the Enter key, then the pattern is
211 aadc20e8 2022-09-23 thomas cleared.
212 aadc20e8 2022-09-23 thomas Until the pattern is cleared, the limited list of commits replaces the
213 aadc20e8 2022-09-23 thomas full list of commits for all operations supported by the log view.
214 aadc20e8 2022-09-23 thomas For example, a search started with
215 7e8004ba 2022-09-11 thomas .Cm /
216 aadc20e8 2022-09-23 thomas will search the limited list of commits, rather than searching all commits.
217 aadc20e8 2022-09-23 thomas The pattern is an extended regular expression which is matched
218 aadc20e8 2022-09-23 thomas against a commit's author name, committer name, log message, and
219 aadc20e8 2022-09-23 thomas commit ID SHA1 hash.
220 aadc20e8 2022-09-23 thomas Regular expression syntax is documented in
221 aadc20e8 2022-09-23 thomas .Xr re_format 7 .
222 60493ae3 2019-06-20 stsp .It Cm n
223 07b0611c 2022-06-23 thomas Find the Nth next commit which matches the current search pattern (default: 1).
224 07b0611c 2022-06-23 thomas .br
225 634cb454 2022-07-03 thomas Searching continues until either a match is found or
226 634cb454 2022-07-03 thomas .Cm C-g
227 634cb454 2022-07-03 thomas or the
228 678cbce5 2019-07-28 stsp .Cm Backspace
229 678cbce5 2019-07-28 stsp key is pressed.
230 b1bf1435 2019-06-21 stsp .It Cm N
231 07b0611c 2022-06-23 thomas Find the Nth previous commit which matches the current search pattern
232 07b0611c 2022-06-23 thomas (default: 1).
233 07b0611c 2022-06-23 thomas .br
234 634cb454 2022-07-03 thomas Searching continues until either a match is found or
235 634cb454 2022-07-03 thomas .Cm C-g
236 634cb454 2022-07-03 thomas or the
237 678cbce5 2019-07-28 stsp .Cm Backspace
238 678cbce5 2019-07-28 stsp key is pressed.
239 bf0668dd 2019-06-26 stsp .It Cm Ctrl+l
240 01ca22b1 2020-12-07 stsp Reload the
241 01ca22b1 2020-12-07 stsp .Cm log
242 01ca22b1 2020-12-07 stsp view with new commits found in the repository.
243 b672a97a 2020-01-27 stsp .It Cm B
244 01ca22b1 2020-12-07 stsp Reload the
245 01ca22b1 2020-12-07 stsp .Cm log
246 01ca22b1 2020-12-07 stsp view and toggle display of merged commits.
247 b672a97a 2020-01-27 stsp The
248 b672a97a 2020-01-27 stsp .Fl b
249 b672a97a 2020-01-27 stsp option determines whether merged commits are displayed initially.
250 1be4947a 2022-07-22 thomas .It Cm R
251 38cb327b 2020-11-24 stsp Open a
252 38cb327b 2020-11-24 stsp .Cm ref
253 38cb327b 2020-11-24 stsp view listing all references in the repository.
254 38cb327b 2020-11-24 stsp This can then be used to open a new
255 38cb327b 2020-11-24 stsp .Cm log
256 38cb327b 2020-11-24 stsp view for arbitrary branches and tags.
257 f69c5a46 2022-07-19 thomas .It Cm @
258 8eca0bdb 2023-01-02 thomas Toggle between showing the committer name and the author name.
259 030916b5 2018-07-12 stsp .El
260 030916b5 2018-07-12 stsp .Pp
261 030916b5 2018-07-12 stsp The options for
262 030916b5 2018-07-12 stsp .Cm tog log
263 030916b5 2018-07-12 stsp are as follows:
264 030916b5 2018-07-12 stsp .Bl -tag -width Ds
265 b672a97a 2020-01-27 stsp .It Fl b
266 1137e0ae 2020-01-27 stsp Display individual commits which were merged into the current branch
267 1137e0ae 2020-01-27 stsp from other branches.
268 b672a97a 2020-01-27 stsp By default,
269 b672a97a 2020-01-27 stsp .Cm tog log
270 b672a97a 2020-01-27 stsp shows the linear history of the current branch only.
271 b672a97a 2020-01-27 stsp The
272 b672a97a 2020-01-27 stsp .Cm B
273 b672a97a 2020-01-27 stsp key binding can be used to toggle display of merged commits at run-time.
274 030916b5 2018-07-12 stsp .It Fl c Ar commit
275 030916b5 2018-07-12 stsp Start traversing history at the specified
276 030916b5 2018-07-12 stsp .Ar commit .
277 66b04f8f 2023-07-19 thomas The expected argument is a commit ID SHA1 hash, or a reference name or keyword
278 66b04f8f 2023-07-19 thomas which will be resolved to a commit ID.
279 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
280 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
281 66b04f8f 2023-07-19 thomas The keywords
282 66b04f8f 2023-07-19 thomas .Qq :base
283 66b04f8f 2023-07-19 thomas and
284 66b04f8f 2023-07-19 thomas .Qq :head
285 66b04f8f 2023-07-19 thomas resolve to the work tree's base commit and branch head, respectively.
286 66b04f8f 2023-07-19 thomas The former is only valid if invoked in a work tree, while the latter will
287 66b04f8f 2023-07-19 thomas resolve to the tip of the work tree's current branch if invoked in a
288 66b04f8f 2023-07-19 thomas work tree, otherwise it will resolve to the repository's HEAD reference.
289 66b04f8f 2023-07-19 thomas Keywords and references may be appended with
290 66b04f8f 2023-07-19 thomas .Qq :+
291 66b04f8f 2023-07-19 thomas or
292 66b04f8f 2023-07-19 thomas .Qq :-
293 66b04f8f 2023-07-19 thomas modifiers and an optional integer N to denote the
294 66b04f8f 2023-07-19 thomas Nth descendant or antecedent by first parent traversal, respectively;
295 66b04f8f 2023-07-19 thomas for example,
296 66b04f8f 2023-07-19 thomas .Sy :head:-2
297 66b04f8f 2023-07-19 thomas denotes the work tree branch head's 2nd generation ancestor, and
298 66b04f8f 2023-07-19 thomas .Sy :base:+4
299 66b04f8f 2023-07-19 thomas denotes the 4th generation descendant of the work tree's base commit.
300 66b04f8f 2023-07-19 thomas Similarly,
301 66b04f8f 2023-07-19 thomas .Sy foobar:+3
302 66b04f8f 2023-07-19 thomas will denote the 3rd generation descendant of the commit resolved by the
303 66b04f8f 2023-07-19 thomas .Qq foobar
304 66b04f8f 2023-07-19 thomas reference.
305 66b04f8f 2023-07-19 thomas A
306 66b04f8f 2023-07-19 thomas .Qq :+
307 66b04f8f 2023-07-19 thomas or
308 66b04f8f 2023-07-19 thomas .Qq :-
309 66b04f8f 2023-07-19 thomas modifier without a trailing integer has an implicit
310 66b04f8f 2023-07-19 thomas .Qq 1
311 66b04f8f 2023-07-19 thomas appended
312 66b04f8f 2023-07-19 thomas .Po e.g.,
313 66b04f8f 2023-07-19 thomas .Sy :base:+
314 66b04f8f 2023-07-19 thomas is equivalent to
315 66b04f8f 2023-07-19 thomas .Sy :base:+1
316 66b04f8f 2023-07-19 thomas .Pc .
317 ecb28ae0 2018-07-16 stsp .It Fl r Ar repository-path
318 ecb28ae0 2018-07-16 stsp Use the repository at the specified path.
319 ecb28ae0 2018-07-16 stsp If not specified, assume the repository is located at or above the current
320 ecb28ae0 2018-07-16 stsp working directory.
321 212b39d1 2020-02-24 naddy If this directory is a
322 212b39d1 2020-02-24 naddy .Xr got 1
323 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
324 030916b5 2018-07-12 stsp .El
325 56c96eff 2022-08-30 thomas .It Xo
326 56c96eff 2022-08-30 thomas .Cm diff
327 56c96eff 2022-08-30 thomas .Op Fl aw
328 56c96eff 2022-08-30 thomas .Op Fl C Ar number
329 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
330 56c96eff 2022-08-30 thomas .Ar object1
331 56c96eff 2022-08-30 thomas .Ar object2
332 56c96eff 2022-08-30 thomas .Xc
333 030916b5 2018-07-12 stsp Display the differences between two objects in the repository.
334 66b04f8f 2023-07-19 thomas Treat each of the two arguments as a reference, a tag name, an object
335 66b04f8f 2023-07-19 thomas ID SHA1 hash, or a keyword and display differences between the corresponding
336 66b04f8f 2023-07-19 thomas objects.
337 3dbaef42 2020-11-24 stsp Both objects must be of the same type (blobs, trees, or commits).
338 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
339 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
340 66b04f8f 2023-07-19 thomas The keywords
341 66b04f8f 2023-07-19 thomas .Qq :base
342 66b04f8f 2023-07-19 thomas and
343 66b04f8f 2023-07-19 thomas .Qq :head
344 66b04f8f 2023-07-19 thomas resolve to the work tree's base commit and branch head, respectively.
345 66b04f8f 2023-07-19 thomas The former is only valid if invoked in a work tree, while the latter will
346 66b04f8f 2023-07-19 thomas resolve to the tip of the work tree's current branch if invoked in a
347 66b04f8f 2023-07-19 thomas work tree, otherwise it will resolve to the repository's HEAD reference.
348 66b04f8f 2023-07-19 thomas Keywords and references may be appended with
349 66b04f8f 2023-07-19 thomas .Qq :+
350 66b04f8f 2023-07-19 thomas or
351 66b04f8f 2023-07-19 thomas .Qq :-
352 66b04f8f 2023-07-19 thomas modifiers and an optional integer N to denote the
353 66b04f8f 2023-07-19 thomas Nth descendant or antecedent by first parent traversal, respectively;
354 66b04f8f 2023-07-19 thomas for example,
355 66b04f8f 2023-07-19 thomas .Sy :head:-2
356 66b04f8f 2023-07-19 thomas denotes the work tree branch head's 2nd generation ancestor, and
357 66b04f8f 2023-07-19 thomas .Sy :base:+4
358 66b04f8f 2023-07-19 thomas denotes the 4th generation descendant of the work tree's base commit.
359 66b04f8f 2023-07-19 thomas Similarly,
360 66b04f8f 2023-07-19 thomas .Sy foobar:+3
361 66b04f8f 2023-07-19 thomas will denote the 3rd generation descendant of the commit resolved by the
362 66b04f8f 2023-07-19 thomas .Qq foobar
363 66b04f8f 2023-07-19 thomas reference.
364 66b04f8f 2023-07-19 thomas A
365 66b04f8f 2023-07-19 thomas .Qq :+
366 66b04f8f 2023-07-19 thomas or
367 66b04f8f 2023-07-19 thomas .Qq :-
368 66b04f8f 2023-07-19 thomas modifier without a trailing integer has an implicit
369 66b04f8f 2023-07-19 thomas .Qq 1
370 66b04f8f 2023-07-19 thomas appended
371 66b04f8f 2023-07-19 thomas .Po e.g.,
372 66b04f8f 2023-07-19 thomas .Sy :base:+
373 66b04f8f 2023-07-19 thomas is equivalent to
374 66b04f8f 2023-07-19 thomas .Sy :base:+1
375 66b04f8f 2023-07-19 thomas .Pc .
376 030916b5 2018-07-12 stsp .Pp
377 030916b5 2018-07-12 stsp The key bindings for
378 030916b5 2018-07-12 stsp .Cm tog diff
379 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
380 030916b5 2018-07-12 stsp .Bl -tag -width Ds
381 64453f7e 2020-11-21 stsp .It Cm a
382 64453f7e 2020-11-21 stsp Toggle treatment of file contents as ASCII text even if binary data was
383 64453f7e 2020-11-21 stsp detected.
384 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, Ctrl-n
385 07b0611c 2022-06-23 thomas Scroll down N lines (default: 1).
386 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, Ctrl-p
387 07b0611c 2022-06-23 thomas Scroll up N lines (default: 1).
388 1c5e5faa 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
389 07b0611c 2022-06-23 thomas Scroll down N pages (default: 1).
390 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
391 07b0611c 2022-06-23 thomas Scroll up N pages (default: 1).
392 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
393 07b0611c 2022-06-23 thomas Scroll down N half pages (default: 1).
394 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
395 07b0611c 2022-06-23 thomas Scroll up N half pages (default: 1).
396 aa7a1117 2023-01-09 thomas .It Cm Home
397 912a3f79 2021-08-30 j Scroll to the top of the view.
398 aa7a1117 2023-01-09 thomas .It Cm End
399 912a3f79 2021-08-30 j Scroll to the bottom of the view.
400 aa7a1117 2023-01-09 thomas .It Cm g
401 aa7a1117 2023-01-09 thomas Scroll to line N (default: 1).
402 aa7a1117 2023-01-09 thomas .It Cm G
403 aa7a1117 2023-01-09 thomas Like
404 aa7a1117 2023-01-09 thomas .Cm g
405 aa7a1117 2023-01-09 thomas but defaults to the last line in the diff.
406 82c78e96 2022-08-06 thomas .It Cm \&(
407 82c78e96 2022-08-06 thomas Navigate to the Nth previous file in the diff (default: 1).
408 82c78e96 2022-08-06 thomas .It Cm \&)
409 82c78e96 2022-08-06 thomas Navigate to the Nth next file in the diff (default: 1).
410 82c78e96 2022-08-06 thomas .It Cm \&{
411 82c78e96 2022-08-06 thomas Navigate to the Nth previous hunk in the diff (default: 1).
412 82c78e96 2022-08-06 thomas .It Cm \&}
413 82c78e96 2022-08-06 thomas Navigate to the Nth next hunk in the diff (default: 1).
414 dfc23429 2019-08-11 stsp .It Cm \&[
415 07b0611c 2022-06-23 thomas Reduce diff context by N lines (default: 1).
416 dfc23429 2019-08-11 stsp .It Cm \&]
417 07b0611c 2022-06-23 thomas Increase diff context by N lines (default: 1).
418 777aae21 2022-07-20 thomas .It Cm <, Comma, K
419 01ca22b1 2020-12-07 stsp If the
420 01ca22b1 2020-12-07 stsp .Cm diff
421 01ca22b1 2020-12-07 stsp view was opened via the
422 01ca22b1 2020-12-07 stsp .Cm log
423 4fc71f3b 2022-07-12 thomas view, move to the Nth previous (younger) commit.
424 4fc71f3b 2022-07-12 thomas If the diff was opened via the
425 4fc71f3b 2022-07-12 thomas .Cm blame
426 4fc71f3b 2022-07-12 thomas view, move to the Nth previous line and load the corresponding commit
427 4fc71f3b 2022-07-12 thomas (default: 1).
428 777aae21 2022-07-20 thomas .It Cm >, Full stop, J
429 01ca22b1 2020-12-07 stsp If the
430 01ca22b1 2020-12-07 stsp .Cm diff
431 01ca22b1 2020-12-07 stsp view was opened via the
432 01ca22b1 2020-12-07 stsp .Cm log
433 4fc71f3b 2022-07-12 thomas view, move to the Nth next (older) commit.
434 4fc71f3b 2022-07-12 thomas If the diff was opened via the
435 4fc71f3b 2022-07-12 thomas .Cm blame
436 4fc71f3b 2022-07-12 thomas view, move to the Nth next line and load the corresponding commit (default: 1).
437 66dc9065 2020-02-15 stsp .It Cm /
438 0e404f95 2020-11-14 stsp Prompt for a search pattern and start searching for matching lines.
439 66dc9065 2020-02-15 stsp The search pattern is an extended regular expression.
440 66dc9065 2020-02-15 stsp Regular expression syntax is documented in
441 66dc9065 2020-02-15 stsp .Xr re_format 7 .
442 66dc9065 2020-02-15 stsp .It Cm n
443 07b0611c 2022-06-23 thomas Find the Nth next line which matches the current search pattern (default: 1).
444 66dc9065 2020-02-15 stsp .It Cm N
445 07b0611c 2022-06-23 thomas Find the Nth previous line which matches the current search pattern
446 07b0611c 2022-06-23 thomas (default: 1).
447 3dbaef42 2020-11-24 stsp .It Cm w
448 3dbaef42 2020-11-24 stsp Toggle display of whitespace-only changes.
449 adf4c9e0 2022-07-03 thomas .It Cm A
450 adf4c9e0 2022-07-03 thomas Change the diff algorithm.
451 d40a767d 2022-07-03 thomas Supported diff algorithms are Myers (quick and dirty) and
452 d40a767d 2022-07-03 thomas Patience (slow and tidy).
453 adf4c9e0 2022-07-03 thomas This is a global setting which also affects the
454 adf4c9e0 2022-07-03 thomas .Cm blame
455 adf4c9e0 2022-07-03 thomas view.
456 030916b5 2018-07-12 stsp .El
457 09b5bff8 2020-02-23 naddy .Pp
458 09b5bff8 2020-02-23 naddy The options for
459 09b5bff8 2020-02-23 naddy .Cm tog diff
460 09b5bff8 2020-02-23 naddy are as follows:
461 09b5bff8 2020-02-23 naddy .Bl -tag -width Ds
462 64453f7e 2020-11-21 stsp .It Fl a
463 64453f7e 2020-11-21 stsp Treat file contents as ASCII text even if binary data is detected.
464 3dbaef42 2020-11-24 stsp .It Fl C Ar number
465 3dbaef42 2020-11-24 stsp Set the number of context lines shown in the diff.
466 3dbaef42 2020-11-24 stsp By default, 3 lines of context are shown.
467 09b5bff8 2020-02-23 naddy .It Fl r Ar repository-path
468 09b5bff8 2020-02-23 naddy Use the repository at the specified path.
469 09b5bff8 2020-02-23 naddy If not specified, assume the repository is located at or above the current
470 09b5bff8 2020-02-23 naddy working directory.
471 212b39d1 2020-02-24 naddy If this directory is a
472 212b39d1 2020-02-24 naddy .Xr got 1
473 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
474 3dbaef42 2020-11-24 stsp .It Fl w
475 3dbaef42 2020-11-24 stsp Ignore whitespace-only changes.
476 09b5bff8 2020-02-23 naddy .El
477 56c96eff 2022-08-30 thomas .It Xo
478 56c96eff 2022-08-30 thomas .Cm blame
479 56c96eff 2022-08-30 thomas .Op Fl c Ar commit
480 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
481 56c96eff 2022-08-30 thomas .Ar path
482 56c96eff 2022-08-30 thomas .Xc
483 030916b5 2018-07-12 stsp Display line-by-line history of a file at the specified path.
484 030916b5 2018-07-12 stsp .Pp
485 030916b5 2018-07-12 stsp The key bindings for
486 030916b5 2018-07-12 stsp .Cm tog blame
487 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
488 030916b5 2018-07-12 stsp .Bl -tag -width Ds
489 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, Ctrl-n
490 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
491 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, Ctrl-p
492 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
493 1c5e5faa 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
494 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
495 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
496 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
497 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
498 07b0611c 2022-06-23 thomas Move the selection cursor down N half pages (default: 1).
499 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
500 07b0611c 2022-06-23 thomas Move the selection cursor up N half pages (default: 1).
501 aa7a1117 2023-01-09 thomas .It Cm Home
502 4deef56f 2021-09-02 naddy Move the selection cursor to the first line of the file.
503 aa7a1117 2023-01-09 thomas .It Cm End
504 4deef56f 2021-09-02 naddy Move the selection cursor to the last line of the file.
505 aa7a1117 2023-01-09 thomas .It Cm g
506 aa7a1117 2023-01-09 thomas Move the selection cursor to line N (default: 1).
507 aa7a1117 2023-01-09 thomas .It Cm G
508 aa7a1117 2023-01-09 thomas Like
509 aa7a1117 2023-01-09 thomas .Cm g
510 aa7a1117 2023-01-09 thomas but defaults to the last line in the file.
511 030916b5 2018-07-12 stsp .It Cm Enter
512 c0d30c23 2018-10-07 stsp Open a
513 030916b5 2018-07-12 stsp .Cm diff
514 030916b5 2018-07-12 stsp view for the currently selected line's commit.
515 1c5e5faa 2022-06-23 thomas .It Cm c
516 c0d30c23 2018-10-07 stsp Reload the
517 030916b5 2018-07-12 stsp .Cm blame
518 c0d30c23 2018-10-07 stsp view with the version of the file as found in the currently
519 c0d30c23 2018-10-07 stsp selected line's commit.
520 7a2921f9 2018-07-12 stsp .It Cm p
521 c0d30c23 2018-10-07 stsp Reload the
522 7a2921f9 2018-07-12 stsp .Cm blame
523 c0d30c23 2018-10-07 stsp view with the version of the file as found in the parent commit of the
524 c0d30c23 2018-10-07 stsp currently selected line's commit.
525 1c5e5faa 2022-06-23 thomas .It Cm C
526 c0d30c23 2018-10-07 stsp Reload the
527 030916b5 2018-07-12 stsp .Cm blame
528 c0d30c23 2018-10-07 stsp view with the previously blamed commit.
529 eaeaa612 2022-07-20 thomas .It Cm L
530 eaeaa612 2022-07-20 thomas Open a
531 eaeaa612 2022-07-20 thomas .Cm log
532 eaeaa612 2022-07-20 thomas view for the currently selected annotated line.
533 6c4c42e0 2019-06-24 stsp .It Cm /
534 0e404f95 2020-11-14 stsp Prompt for a search pattern and start searching for matching lines.
535 6c4c42e0 2019-06-24 stsp The search pattern is an extended regular expression.
536 6c4c42e0 2019-06-24 stsp Regular expression syntax is documented in
537 6c4c42e0 2019-06-24 stsp .Xr re_format 7 .
538 6c4c42e0 2019-06-24 stsp .It Cm n
539 07b0611c 2022-06-23 thomas Find the Nth next line which matches the current search pattern (default: 1).
540 6c4c42e0 2019-06-24 stsp .It Cm N
541 07b0611c 2022-06-23 thomas Find the Nth previous line which matches the current search pattern
542 07b0611c 2022-06-23 thomas (default: 1).
543 adf4c9e0 2022-07-03 thomas .It Cm A
544 adf4c9e0 2022-07-03 thomas Change the diff algorithm.
545 d40a767d 2022-07-03 thomas Supported diff algorithms are Myers (quick and dirty) and
546 d40a767d 2022-07-03 thomas Patience (slow and tidy).
547 adf4c9e0 2022-07-03 thomas This is a global setting which also affects the
548 adf4c9e0 2022-07-03 thomas .Cm diff
549 adf4c9e0 2022-07-03 thomas view.
550 030916b5 2018-07-12 stsp .El
551 030916b5 2018-07-12 stsp .Pp
552 030916b5 2018-07-12 stsp The options for
553 030916b5 2018-07-12 stsp .Cm tog blame
554 030916b5 2018-07-12 stsp are as follows:
555 030916b5 2018-07-12 stsp .Bl -tag -width Ds
556 030916b5 2018-07-12 stsp .It Fl c Ar commit
557 030916b5 2018-07-12 stsp Start traversing history at the specified
558 030916b5 2018-07-12 stsp .Ar commit .
559 66b04f8f 2023-07-19 thomas The expected argument is a commit ID SHA1 hash, or a reference name or keyword
560 66b04f8f 2023-07-19 thomas which will be resolved to a commit ID.
561 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
562 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
563 66b04f8f 2023-07-19 thomas The keywords
564 66b04f8f 2023-07-19 thomas .Qq :base
565 66b04f8f 2023-07-19 thomas and
566 66b04f8f 2023-07-19 thomas .Qq :head
567 66b04f8f 2023-07-19 thomas resolve to the work tree's base commit and branch head, respectively.
568 66b04f8f 2023-07-19 thomas The former is only valid if invoked in a work tree, while the latter will
569 66b04f8f 2023-07-19 thomas resolve to the tip of the work tree's current branch if invoked in a
570 66b04f8f 2023-07-19 thomas work tree, otherwise it will resolve to the repository's HEAD reference.
571 66b04f8f 2023-07-19 thomas Keywords and references may be appended with
572 66b04f8f 2023-07-19 thomas .Qq :+
573 66b04f8f 2023-07-19 thomas or
574 66b04f8f 2023-07-19 thomas .Qq :-
575 66b04f8f 2023-07-19 thomas modifiers and an optional integer N to denote the
576 66b04f8f 2023-07-19 thomas Nth descendant or antecedent by first parent traversal, respectively;
577 66b04f8f 2023-07-19 thomas for example,
578 66b04f8f 2023-07-19 thomas .Sy :head:-2
579 66b04f8f 2023-07-19 thomas denotes the work tree branch head's 2nd generation ancestor, and
580 66b04f8f 2023-07-19 thomas .Sy :base:+4
581 66b04f8f 2023-07-19 thomas denotes the 4th generation descendant of the work tree's base commit.
582 66b04f8f 2023-07-19 thomas Similarly,
583 66b04f8f 2023-07-19 thomas .Sy foobar:+3
584 66b04f8f 2023-07-19 thomas will denote the 3rd generation descendant of the commit resolved by the
585 66b04f8f 2023-07-19 thomas .Qq foobar
586 66b04f8f 2023-07-19 thomas reference.
587 66b04f8f 2023-07-19 thomas A
588 66b04f8f 2023-07-19 thomas .Qq :+
589 66b04f8f 2023-07-19 thomas or
590 66b04f8f 2023-07-19 thomas .Qq :-
591 66b04f8f 2023-07-19 thomas modifier without a trailing integer has an implicit
592 66b04f8f 2023-07-19 thomas .Qq 1
593 66b04f8f 2023-07-19 thomas appended
594 66b04f8f 2023-07-19 thomas .Po e.g.,
595 66b04f8f 2023-07-19 thomas .Sy :base:+
596 66b04f8f 2023-07-19 thomas is equivalent to
597 66b04f8f 2023-07-19 thomas .Sy :base:+1
598 66b04f8f 2023-07-19 thomas .Pc .
599 69069811 2018-08-02 stsp .It Fl r Ar repository-path
600 69069811 2018-08-02 stsp Use the repository at the specified path.
601 69069811 2018-08-02 stsp If not specified, assume the repository is located at or above the current
602 69069811 2018-08-02 stsp working directory.
603 212b39d1 2020-02-24 naddy If this directory is a
604 212b39d1 2020-02-24 naddy .Xr got 1
605 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
606 030916b5 2018-07-12 stsp .El
607 56c96eff 2022-08-30 thomas .It Xo
608 56c96eff 2022-08-30 thomas .Cm tree
609 56c96eff 2022-08-30 thomas .Op Fl c Ar commit
610 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
611 56c96eff 2022-08-30 thomas .Op Ar path
612 56c96eff 2022-08-30 thomas .Xc
613 030916b5 2018-07-12 stsp Display the repository tree.
614 55cccc34 2020-02-20 stsp If a
615 55cccc34 2020-02-20 stsp .Ar path
616 55cccc34 2020-02-20 stsp is specified, show tree entries at this path.
617 030916b5 2018-07-12 stsp .Pp
618 848d6979 2019-08-12 stsp Displayed tree entries may carry one of the following trailing annotations:
619 848d6979 2019-08-12 stsp .Bl -column YXZ description
620 848d6979 2019-08-12 stsp .It @ Ta entry is a symbolic link
621 848d6979 2019-08-12 stsp .It / Ta entry is a directory
622 848d6979 2019-08-12 stsp .It * Ta entry is an executable file
623 63c5ca5d 2019-08-24 stsp .It $ Ta entry is a Git submodule
624 848d6979 2019-08-12 stsp .El
625 0d6c6ee3 2020-05-20 stsp .Pp
626 0d6c6ee3 2020-05-20 stsp Symbolic link entries are also annotated with the target path of the link.
627 848d6979 2019-08-12 stsp .Pp
628 030916b5 2018-07-12 stsp The key bindings for
629 030916b5 2018-07-12 stsp .Cm tog tree
630 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
631 030916b5 2018-07-12 stsp .Bl -tag -width Ds
632 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, Ctrl-n
633 07b0611c 2022-06-23 thomas Move the selection cursor down N lines (default: 1).
634 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, Ctrl-p
635 07b0611c 2022-06-23 thomas Move the selection cursor up N lines (default: 1).
636 4c2d69cb 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
637 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
638 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
639 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
640 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
641 07b0611c 2022-06-23 thomas Move the selection cursor down N half pages (default: 1).
642 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
643 07b0611c 2022-06-23 thomas Move the selection cursor up N half pages (default: 1).
644 aa7a1117 2023-01-09 thomas .It Cm Home, =
645 e4526bf5 2021-09-03 naddy Move the selection cursor to the first entry.
646 aa7a1117 2023-01-09 thomas .It Cm End, *
647 e4526bf5 2021-09-03 naddy Move the selection cursor to the last entry.
648 aa7a1117 2023-01-09 thomas .It Cm g
649 aa7a1117 2023-01-09 thomas Move the selection cursor to entry N (default: 1).
650 aa7a1117 2023-01-09 thomas .It Cm G
651 aa7a1117 2023-01-09 thomas Like
652 aa7a1117 2023-01-09 thomas .Cm g
653 aa7a1117 2023-01-09 thomas but defaults to the last entry.
654 030916b5 2018-07-12 stsp .It Cm Enter
655 030916b5 2018-07-12 stsp Enter the currently selected directory, or switch to the
656 030916b5 2018-07-12 stsp .Cm blame
657 030916b5 2018-07-12 stsp view for the currently selected file.
658 1be4947a 2022-07-22 thomas .It Cm L
659 c0d30c23 2018-10-07 stsp Open a
660 69efd4c4 2018-07-18 stsp .Cm log
661 69efd4c4 2018-07-18 stsp view for the currently selected tree entry.
662 1be4947a 2022-07-22 thomas .It Cm R
663 152c1c93 2020-11-29 stsp Open a
664 152c1c93 2020-11-29 stsp .Cm ref
665 152c1c93 2020-11-29 stsp view listing all references in the repository.
666 152c1c93 2020-11-29 stsp This can then be used to open a new
667 152c1c93 2020-11-29 stsp .Cm tree
668 152c1c93 2020-11-29 stsp view for arbitrary branches and tags.
669 7837eeac 2018-09-24 stsp .It Cm Backspace
670 07b0611c 2022-06-23 thomas Move back to the Nth parent directory (default: 1).
671 030916b5 2018-07-12 stsp .It Cm i
672 c0d30c23 2018-10-07 stsp Show object IDs for all objects displayed in the
673 030916b5 2018-07-12 stsp .Cm tree
674 030916b5 2018-07-12 stsp view.
675 4eec20aa 2019-06-22 stsp .It Cm /
676 4eec20aa 2019-06-22 stsp Prompt for a search pattern and start searching for matching tree entries.
677 4eec20aa 2019-06-22 stsp The search pattern is an extended regular expression which is matched
678 4eec20aa 2019-06-22 stsp against the tree entry's name.
679 4eec20aa 2019-06-22 stsp Regular expression syntax is documented in
680 4eec20aa 2019-06-22 stsp .Xr re_format 7 .
681 4eec20aa 2019-06-22 stsp .It Cm n
682 07b0611c 2022-06-23 thomas Find the Nth next tree entry which matches the current search pattern
683 07b0611c 2022-06-23 thomas (default: 1).
684 4eec20aa 2019-06-22 stsp .It Cm N
685 07b0611c 2022-06-23 thomas Find the Nth previous tree entry which matches the current search pattern
686 07b0611c 2022-06-23 thomas (default: 1).
687 030916b5 2018-07-12 stsp .El
688 030916b5 2018-07-12 stsp .Pp
689 030916b5 2018-07-12 stsp The options for
690 030916b5 2018-07-12 stsp .Cm tog tree
691 030916b5 2018-07-12 stsp are as follows:
692 030916b5 2018-07-12 stsp .Bl -tag -width Ds
693 030916b5 2018-07-12 stsp .It Fl c Ar commit
694 030916b5 2018-07-12 stsp Start traversing history at the specified
695 030916b5 2018-07-12 stsp .Ar commit .
696 66b04f8f 2023-07-19 thomas The expected argument is a commit ID SHA1 hash, or a reference name or keyword
697 66b04f8f 2023-07-19 thomas which will be resolved to a commit ID.
698 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
699 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
700 66b04f8f 2023-07-19 thomas The keywords
701 66b04f8f 2023-07-19 thomas .Qq :base
702 66b04f8f 2023-07-19 thomas and
703 66b04f8f 2023-07-19 thomas .Qq :head
704 66b04f8f 2023-07-19 thomas resolve to the work tree's base commit and branch head, respectively.
705 66b04f8f 2023-07-19 thomas The former is only valid if invoked in a work tree, while the latter will
706 66b04f8f 2023-07-19 thomas resolve to the tip of the work tree's current branch if invoked in a
707 66b04f8f 2023-07-19 thomas work tree, otherwise it will resolve to the repository's HEAD reference.
708 66b04f8f 2023-07-19 thomas Keywords and references may be appended with
709 66b04f8f 2023-07-19 thomas .Qq :+
710 66b04f8f 2023-07-19 thomas or
711 66b04f8f 2023-07-19 thomas .Qq :-
712 66b04f8f 2023-07-19 thomas modifiers and an optional integer N to denote the
713 66b04f8f 2023-07-19 thomas Nth descendant or antecedent by first parent traversal, respectively;
714 66b04f8f 2023-07-19 thomas for example,
715 66b04f8f 2023-07-19 thomas .Sy :head:-2
716 66b04f8f 2023-07-19 thomas denotes the work tree branch head's 2nd generation ancestor, and
717 66b04f8f 2023-07-19 thomas .Sy :base:+4
718 66b04f8f 2023-07-19 thomas denotes the 4th generation descendant of the work tree's base commit.
719 66b04f8f 2023-07-19 thomas Similarly,
720 66b04f8f 2023-07-19 thomas .Sy foobar:+3
721 66b04f8f 2023-07-19 thomas will denote the 3rd generation descendant of the commit resolved by the
722 66b04f8f 2023-07-19 thomas .Qq foobar
723 66b04f8f 2023-07-19 thomas reference.
724 66b04f8f 2023-07-19 thomas A
725 66b04f8f 2023-07-19 thomas .Qq :+
726 66b04f8f 2023-07-19 thomas or
727 66b04f8f 2023-07-19 thomas .Qq :-
728 66b04f8f 2023-07-19 thomas modifier without a trailing integer has an implicit
729 66b04f8f 2023-07-19 thomas .Qq 1
730 66b04f8f 2023-07-19 thomas appended
731 66b04f8f 2023-07-19 thomas .Po e.g.,
732 66b04f8f 2023-07-19 thomas .Sy :base:+
733 66b04f8f 2023-07-19 thomas is equivalent to
734 66b04f8f 2023-07-19 thomas .Sy :base:+1
735 66b04f8f 2023-07-19 thomas .Pc .
736 38cb327b 2020-11-24 stsp .It Fl r Ar repository-path
737 38cb327b 2020-11-24 stsp Use the repository at the specified path.
738 38cb327b 2020-11-24 stsp If not specified, assume the repository is located at or above the current
739 38cb327b 2020-11-24 stsp working directory.
740 38cb327b 2020-11-24 stsp If this directory is a
741 38cb327b 2020-11-24 stsp .Xr got 1
742 38cb327b 2020-11-24 stsp work tree, use the repository path associated with this work tree.
743 38cb327b 2020-11-24 stsp .El
744 56c96eff 2022-08-30 thomas .It Cm ref Op Fl r Ar repository-path
745 38cb327b 2020-11-24 stsp Display references in the repository.
746 38cb327b 2020-11-24 stsp .Pp
747 38cb327b 2020-11-24 stsp The key bindings for
748 38cb327b 2020-11-24 stsp .Cm tog ref
749 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
750 38cb327b 2020-11-24 stsp .Bl -tag -width Ds
751 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, Ctrl-n
752 07b0611c 2022-06-23 thomas Move the selection cursor down N lines (default: 1).
753 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, Ctrl-p
754 07b0611c 2022-06-23 thomas Move the selection cursor up N lines (default: 1).
755 4c2d69cb 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
756 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
757 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
758 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
759 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
760 07b0611c 2022-06-23 thomas Move the selection cursor down N half pages (default: 1).
761 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
762 07b0611c 2022-06-23 thomas Move the selection cursor up N half pages (default: 1).
763 aa7a1117 2023-01-09 thomas .It Cm Home, =
764 e4526bf5 2021-09-03 naddy Move the selection cursor to the first reference.
765 aa7a1117 2023-01-09 thomas .It Cm End, *
766 e4526bf5 2021-09-03 naddy Move the selection cursor to the last reference.
767 aa7a1117 2023-01-09 thomas .It Cm g
768 aa7a1117 2023-01-09 thomas Move the selection cursor to reference N (default: 1).
769 aa7a1117 2023-01-09 thomas .It Cm G
770 aa7a1117 2023-01-09 thomas Like
771 aa7a1117 2023-01-09 thomas .Cm g
772 aa7a1117 2023-01-09 thomas but defaults to the last reference.
773 38cb327b 2020-11-24 stsp .It Cm Enter
774 01ca22b1 2020-12-07 stsp Open a
775 01ca22b1 2020-12-07 stsp .Cm log
776 01ca22b1 2020-12-07 stsp view which begins traversing history at the commit resolved via the
777 38cb327b 2020-11-24 stsp currently selected reference.
778 1be4947a 2022-07-22 thomas .It Cm T
779 c42c9805 2020-11-24 stsp Open a
780 c42c9805 2020-11-24 stsp .Cm tree
781 c42c9805 2020-11-24 stsp view showing the tree resolved via the currently selected reference.
782 38cb327b 2020-11-24 stsp .It Cm i
783 38cb327b 2020-11-24 stsp Show object IDs for all non-symbolic references displayed in the
784 38cb327b 2020-11-24 stsp .Cm ref
785 38cb327b 2020-11-24 stsp view.
786 84227eb1 2022-06-23 thomas .It Cm m
787 84227eb1 2022-06-23 thomas Show last modified date of each displayed reference.
788 98182bd0 2021-11-20 thomas .It Cm o
789 3bfadbd4 2021-11-20 thomas Toggle display order of references between sort by name and sort by timestamp.
790 38cb327b 2020-11-24 stsp .It Cm /
791 38cb327b 2020-11-24 stsp Prompt for a search pattern and start searching for matching references.
792 38cb327b 2020-11-24 stsp The search pattern is an extended regular expression which is matched
793 38cb327b 2020-11-24 stsp against absolute reference names.
794 38cb327b 2020-11-24 stsp Regular expression syntax is documented in
795 38cb327b 2020-11-24 stsp .Xr re_format 7 .
796 38cb327b 2020-11-24 stsp .It Cm n
797 07b0611c 2022-06-23 thomas Find the Nth next reference which matches the current search pattern
798 07b0611c 2022-06-23 thomas (default: 1).
799 38cb327b 2020-11-24 stsp .It Cm N
800 07b0611c 2022-06-23 thomas Find the Nth previous reference which matches the current search pattern
801 07b0611c 2022-06-23 thomas (default: 1).
802 38cb327b 2020-11-24 stsp .It Cm Ctrl+l
803 38cb327b 2020-11-24 stsp Reload the list of references displayed by the
804 38cb327b 2020-11-24 stsp .Cm ref
805 38cb327b 2020-11-24 stsp view.
806 38cb327b 2020-11-24 stsp .El
807 38cb327b 2020-11-24 stsp .Pp
808 38cb327b 2020-11-24 stsp The options for
809 38cb327b 2020-11-24 stsp .Cm tog ref
810 38cb327b 2020-11-24 stsp are as follows:
811 38cb327b 2020-11-24 stsp .Bl -tag -width Ds
812 74283ab8 2020-02-07 stsp .It Fl r Ar repository-path
813 74283ab8 2020-02-07 stsp Use the repository at the specified path.
814 74283ab8 2020-02-07 stsp If not specified, assume the repository is located at or above the current
815 74283ab8 2020-02-07 stsp working directory.
816 74283ab8 2020-02-07 stsp If this directory is a
817 74283ab8 2020-02-07 stsp .Xr got 1
818 74283ab8 2020-02-07 stsp work tree, use the repository path associated with this work tree.
819 030916b5 2018-07-12 stsp .El
820 030916b5 2018-07-12 stsp .El
821 6d17833f 2019-11-08 stsp .Sh ENVIRONMENT
822 64486692 2022-07-07 thomas .Bl -tag -width TOG_VIEW_SPLIT_MODE
823 6d17833f 2019-11-08 stsp .It Ev TOG_COLORS
824 6d17833f 2019-11-08 stsp .Nm
825 6d17833f 2019-11-08 stsp shows colorized output if this variable is set to a non-empty value.
826 6d17833f 2019-11-08 stsp The default color scheme can be modified by setting the environment
827 6d17833f 2019-11-08 stsp variables documented below.
828 6d17833f 2019-11-08 stsp The colors available in color schemes are
829 6d17833f 2019-11-08 stsp .Dq black ,
830 6d17833f 2019-11-08 stsp .Dq red ,
831 6d17833f 2019-11-08 stsp .Dq green ,
832 6d17833f 2019-11-08 stsp .Dq yellow ,
833 6d17833f 2019-11-08 stsp .Dq blue ,
834 93a300b2 2021-08-26 stsp .Dq magenta ,
835 1d7fe5cd 2019-11-08 stsp .Dq cyan ,
836 6d17833f 2019-11-08 stsp and
837 1d7fe5cd 2019-11-08 stsp .Dq default
838 1d7fe5cd 2019-11-08 stsp which maps to the terminal's default foreground color.
839 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_AUTHOR
840 bd15e874 2023-01-20 thomas The color used to mark up author information.
841 6d17833f 2019-11-08 stsp If not set, the default value
842 bd15e874 2023-01-20 thomas .Dq cyan
843 6d17833f 2019-11-08 stsp is used.
844 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_COMMIT
845 bd15e874 2023-01-20 thomas The color used to mark up commit IDs.
846 6d17833f 2019-11-08 stsp If not set, the default value
847 bd15e874 2023-01-20 thomas .Dq green
848 6d17833f 2019-11-08 stsp is used.
849 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_DATE
850 bd15e874 2023-01-20 thomas The color used to mark up date information.
851 bd15e874 2023-01-20 thomas If not set, the default value
852 bd15e874 2023-01-20 thomas .Dq yellow
853 bd15e874 2023-01-20 thomas is used.
854 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_CHUNK_HEADER
855 6d17833f 2019-11-08 stsp The color used to mark up chunk header lines in diffs.
856 6d17833f 2019-11-08 stsp If not set, the default value
857 6d17833f 2019-11-08 stsp .Dq yellow
858 6d17833f 2019-11-08 stsp is used.
859 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_META
860 6d17833f 2019-11-08 stsp The color used to mark up meta data in diffs.
861 c0b01bdb 2019-11-08 stsp If not set, the default value
862 c0b01bdb 2019-11-08 stsp .Dq green
863 c0b01bdb 2019-11-08 stsp is used.
864 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_DIFF_MINUS
865 bd15e874 2023-01-20 thomas The color used to mark up removed lines in diffs.
866 c0b01bdb 2019-11-08 stsp If not set, the default value
867 c0b01bdb 2019-11-08 stsp .Dq magenta
868 c0b01bdb 2019-11-08 stsp is used.
869 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_DIFF_PLUS
870 bd15e874 2023-01-20 thomas The color used to mark up added lines in diffs.
871 c0b01bdb 2019-11-08 stsp If not set, the default value
872 91b8c405 2020-01-25 stsp .Dq cyan
873 c0b01bdb 2019-11-08 stsp is used.
874 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_REFS_BACKUP
875 bd15e874 2023-01-20 thomas The color used to mark up references in the
876 bd15e874 2023-01-20 thomas .Dq refs/got/backup/
877 bd15e874 2023-01-20 thomas namespace.
878 11b20872 2019-11-08 stsp If not set, the default value
879 11b20872 2019-11-08 stsp .Dq cyan
880 11b20872 2019-11-08 stsp is used.
881 38cb327b 2020-11-24 stsp .It Ev TOG_COLOR_REFS_HEADS
882 38cb327b 2020-11-24 stsp The color used to mark up references in the
883 38cb327b 2020-11-24 stsp .Dq refs/heads/
884 38cb327b 2020-11-24 stsp namespace.
885 38cb327b 2020-11-24 stsp If not set, the default value
886 38cb327b 2020-11-24 stsp .Dq green
887 38cb327b 2020-11-24 stsp is used.
888 38cb327b 2020-11-24 stsp .It Ev TOG_COLOR_REFS_REMOTES
889 38cb327b 2020-11-24 stsp The color used to mark up references in the
890 38cb327b 2020-11-24 stsp .Dq refs/remotes/
891 38cb327b 2020-11-24 stsp namespace.
892 38cb327b 2020-11-24 stsp If not set, the default value
893 38cb327b 2020-11-24 stsp .Dq yellow
894 38cb327b 2020-11-24 stsp is used.
895 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_REFS_TAGS
896 2183bbf6 2022-01-23 thomas The color used to mark up references in the
897 bd15e874 2023-01-20 thomas .Dq refs/tags/
898 2183bbf6 2022-01-23 thomas namespace.
899 2183bbf6 2022-01-23 thomas If not set, the default value
900 bd15e874 2023-01-20 thomas .Dq magenta
901 bd15e874 2023-01-20 thomas is used.
902 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_TREE_DIRECTORY
903 bd15e874 2023-01-20 thomas The color used to mark up directory tree entries.
904 bd15e874 2023-01-20 thomas If not set, the default value
905 2183bbf6 2022-01-23 thomas .Dq cyan
906 2183bbf6 2022-01-23 thomas is used.
907 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_TREE_EXECUTABLE
908 bd15e874 2023-01-20 thomas The color used to mark up executable file tree entries.
909 bd15e874 2023-01-20 thomas If not set, the default value
910 bd15e874 2023-01-20 thomas .Dq green
911 bd15e874 2023-01-20 thomas is used.
912 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_TREE_SUBMODULE
913 bd15e874 2023-01-20 thomas The color used to mark up submodule tree entries.
914 bd15e874 2023-01-20 thomas If not set, the default value
915 bd15e874 2023-01-20 thomas .Dq magenta
916 bd15e874 2023-01-20 thomas is used.
917 bd15e874 2023-01-20 thomas .It Ev TOG_COLOR_TREE_SYMLINK
918 bd15e874 2023-01-20 thomas The color used to mark up symbolic link tree entries.
919 bd15e874 2023-01-20 thomas If not set, the default value
920 bd15e874 2023-01-20 thomas .Dq magenta
921 bd15e874 2023-01-20 thomas is used.
922 bd15e874 2023-01-20 thomas .It Ev TOG_DIFF_ALGORITHM
923 bd15e874 2023-01-20 thomas Determines the default diff algorithm used by
924 bd15e874 2023-01-20 thomas .Nm .
925 bd15e874 2023-01-20 thomas Supported diff algorithms are Myers (quick and dirty) and
926 bd15e874 2023-01-20 thomas Patience (slow and tidy).
927 bd15e874 2023-01-20 thomas Valid values for
928 bd15e874 2023-01-20 thomas .Ev TOG_DIFF_ALGORITHM
929 bd15e874 2023-01-20 thomas are
930 bd15e874 2023-01-20 thomas .Dq patience
931 bd15e874 2023-01-20 thomas and
932 bd15e874 2023-01-20 thomas .Dq myers .
933 bd15e874 2023-01-20 thomas If unset, the Myers diff algorithm will be used by default.
934 bd15e874 2023-01-20 thomas .It Ev TOG_VIEW_SPLIT_MODE
935 bd15e874 2023-01-20 thomas Determines the default layout of split-screen views.
936 bd15e874 2023-01-20 thomas If set to
937 bd15e874 2023-01-20 thomas .Dq h
938 bd15e874 2023-01-20 thomas or
939 bd15e874 2023-01-20 thomas .Dq H ,
940 bd15e874 2023-01-20 thomas .Nm
941 bd15e874 2023-01-20 thomas will use horizontal split by default.
942 bd15e874 2023-01-20 thomas Otherwise, vertical split will be used.
943 bd15e874 2023-01-20 thomas The
944 bd15e874 2023-01-20 thomas .Cm S
945 bd15e874 2023-01-20 thomas key can be used to switch between vertical and horizontal split layout
946 bd15e874 2023-01-20 thomas at run-time.
947 6d17833f 2019-11-08 stsp .El
948 030916b5 2018-07-12 stsp .Sh EXIT STATUS
949 030916b5 2018-07-12 stsp .Ex -std tog
950 030916b5 2018-07-12 stsp .Sh SEE ALSO
951 56b9a4ca 2019-06-21 stsp .Xr got 1 ,
952 56b9a4ca 2019-06-21 stsp .Xr git-repository 5 ,
953 56b9a4ca 2019-06-21 stsp .Xr re_format 7
954 030916b5 2018-07-12 stsp .Sh AUTHORS
955 60c73080 2022-07-05 thomas .An Christian Weisgerber Aq Mt naddy@openbsd.org
956 60c73080 2022-07-05 thomas .An Josh Rickmar Aq Mt jrick@zettaport.com
957 bc3056e3 2019-08-18 stsp .An Joshua Stein Aq Mt jcs@openbsd.org
958 60c73080 2022-07-05 thomas .An Mark Jamsek Aq Mt mark@jamsek.dev
959 60c73080 2022-07-05 thomas .An Martin Pieuchot Aq Mt mpi@openbsd.org
960 60c73080 2022-07-05 thomas .An Omar Polo Aq Mt op@openbsd.org
961 60c73080 2022-07-05 thomas .An Stefan Sperling Aq Mt stsp@openbsd.org
962 60c73080 2022-07-05 thomas .An Klemens Nanni Aq Mt kn@openbsd.org