2 030916b5 2018-07-12 stsp .\" Copyright (c) 2018 Stefan Sperling
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.
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.
16 030916b5 2018-07-12 stsp .Dd $Mdocdate$
21 aee2a8bd 2019-08-05 stsp .Nd Git repository browser
22 030916b5 2018-07-12 stsp .Sh SYNOPSIS
25 0a58e722 2022-10-04 thomas .Ar command
26 030916b5 2018-07-12 stsp .Op Ar arg ...
30 030916b5 2018-07-12 stsp .Sh DESCRIPTION
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 .
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
43 ee85c5e8 2020-02-29 stsp is specified, or if just a
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.
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.
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
68 634cb454 2022-07-03 thomas .Cm Backspace .
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
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.
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
91 87aa0e98 2018-08-18 stsp Quit the view which is in focus.
93 c0d30c23 2018-10-07 stsp Switch focus between views.
95 c0d30c23 2018-10-07 stsp Toggle fullscreen mode for a split-screen view.
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.
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.
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).
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).
112 07dd3ed3 2022-08-06 thomas Go to line N in the view (default: last line).
114 07dd3ed3 2022-08-06 thomas Go to line N in the view (default: first line).
117 030916b5 2018-07-12 stsp The commands for
119 030916b5 2018-07-12 stsp are as follows:
120 030916b5 2018-07-12 stsp .Bl -tag -width blame
124 56c96eff 2022-08-30 thomas .Op Fl c Ar commit
125 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
126 56c96eff 2022-08-30 thomas .Op Ar path
128 030916b5 2018-07-12 stsp Display history of a repository.
131 ecb28ae0 2018-07-16 stsp is specified, show only commits which modified this path.
132 dc990cbf 2020-02-22 stsp If invoked in a work tree, the
134 dc990cbf 2020-02-22 stsp is interpreted relative to the current working directory,
135 dc990cbf 2020-02-22 stsp and the work tree's path prefix is implicitly prepended.
136 dc990cbf 2020-02-22 stsp Otherwise, the path is interpreted relative to the repository root.
138 030916b5 2018-07-12 stsp This command is also executed if no explicit command is specified.
140 030916b5 2018-07-12 stsp The key bindings for
141 030916b5 2018-07-12 stsp .Cm tog log
142 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
143 030916b5 2018-07-12 stsp .Bl -tag -width Ds
144 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, >, Full stop, Ctrl-n
145 07b0611c 2022-06-23 thomas Move the selection cursor down N lines (default: 1).
146 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, <, Comma, Ctrl-p
147 07b0611c 2022-06-23 thomas Move the selection cursor up N lines (default: 1).
148 05171be4 2022-06-23 thomas .It Cm Right-arrow, l
149 07b0611c 2022-06-23 thomas Scroll log message field to the right N increments (default: 1).
151 d74d8993 2022-06-23 thomas Log message moves left on the screen.
152 05171be4 2022-06-23 thomas .It Cm Left-arrow, h
153 07b0611c 2022-06-23 thomas Scroll log message field to the left N increments (default: 1).
155 d74d8993 2022-06-23 thomas Log message moves right on the screen.
157 05171be4 2022-06-23 thomas Scroll log message field to the rightmost position.
159 05171be4 2022-06-23 thomas Scroll log message field to the leftmost position.
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
177 9ebbe6e1 2021-08-30 stsp .Cm Backspace .
179 aa7a1117 2023-01-09 thomas Move the cursor to commit N (default: 1).
183 aa7a1117 2023-01-09 thomas but defaults to the oldest commit.
184 4c2d69cb 2022-06-23 thomas .It Cm Enter
187 030916b5 2018-07-12 stsp view showing file changes made in the currently selected commit.
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
196 678cbce5 2019-07-28 stsp .Cm Backspace
197 26f0cb24 2021-08-30 j aborts the running operation.
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 .
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
210 aadc20e8 2022-09-23 thomas prompt is immediately closed with the Enter key, then the pattern is
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
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 .
223 07b0611c 2022-06-23 thomas Find the Nth next commit which matches the current search pattern (default: 1).
225 634cb454 2022-07-03 thomas Searching continues until either a match is found or
228 678cbce5 2019-07-28 stsp .Cm Backspace
229 678cbce5 2019-07-28 stsp key is pressed.
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).
234 634cb454 2022-07-03 thomas Searching continues until either a match is found or
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
242 01ca22b1 2020-12-07 stsp view with new commits found in the repository.
246 01ca22b1 2020-12-07 stsp view and toggle display of merged commits.
249 b672a97a 2020-01-27 stsp option determines whether merged commits are displayed initially.
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
256 38cb327b 2020-11-24 stsp view for arbitrary branches and tags.
258 8eca0bdb 2023-01-02 thomas Toggle between showing the committer name and the author name.
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
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.
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 a54b6686 2019-06-28 stsp The expected argument is the name of a branch or a commit ID SHA1 hash.
278 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
279 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
280 19e70ad6 2019-05-14 stsp If this option is not specified, default to the work tree's current branch
281 19e70ad6 2019-05-14 stsp if invoked in a work tree, or to the repository's HEAD reference.
282 ecb28ae0 2018-07-16 stsp .It Fl r Ar repository-path
283 ecb28ae0 2018-07-16 stsp Use the repository at the specified path.
284 ecb28ae0 2018-07-16 stsp If not specified, assume the repository is located at or above the current
285 ecb28ae0 2018-07-16 stsp working directory.
286 212b39d1 2020-02-24 naddy If this directory is a
288 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
292 56c96eff 2022-08-30 thomas .Op Fl aw
293 56c96eff 2022-08-30 thomas .Op Fl C Ar number
294 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
295 56c96eff 2022-08-30 thomas .Ar object1
296 56c96eff 2022-08-30 thomas .Ar object2
298 030916b5 2018-07-12 stsp Display the differences between two objects in the repository.
299 3dbaef42 2020-11-24 stsp Treat each of the two arguments as a reference, a tag name, or an object
300 3dbaef42 2020-11-24 stsp ID SHA1 hash, and display differences between the corresponding objects.
301 3dbaef42 2020-11-24 stsp Both objects must be of the same type (blobs, trees, or commits).
302 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
303 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
305 030916b5 2018-07-12 stsp The key bindings for
306 030916b5 2018-07-12 stsp .Cm tog diff
307 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
308 030916b5 2018-07-12 stsp .Bl -tag -width Ds
310 64453f7e 2020-11-21 stsp Toggle treatment of file contents as ASCII text even if binary data was
312 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, Ctrl-n
313 07b0611c 2022-06-23 thomas Scroll down N lines (default: 1).
314 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, Ctrl-p
315 07b0611c 2022-06-23 thomas Scroll up N lines (default: 1).
316 05171be4 2022-06-23 thomas .It Cm Right-arrow, l
317 07b0611c 2022-06-23 thomas Scroll view to the right N increments (default: 1).
319 d74d8993 2022-06-23 thomas Diff output moves left on the screen.
320 05171be4 2022-06-23 thomas .It Cm Left-arrow, h
321 07b0611c 2022-06-23 thomas Scroll view to the left N increments (default: 1).
323 d74d8993 2022-06-23 thomas Diff output moves right on the screen.
325 05171be4 2022-06-23 thomas Scroll view to the rightmost position.
327 05171be4 2022-06-23 thomas Scroll view left to the start of the line.
328 1c5e5faa 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
329 07b0611c 2022-06-23 thomas Scroll down N pages (default: 1).
330 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
331 07b0611c 2022-06-23 thomas Scroll up N pages (default: 1).
332 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
333 07b0611c 2022-06-23 thomas Scroll down N half pages (default: 1).
334 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
335 07b0611c 2022-06-23 thomas Scroll up N half pages (default: 1).
336 aa7a1117 2023-01-09 thomas .It Cm Home
337 912a3f79 2021-08-30 j Scroll to the top of the view.
338 aa7a1117 2023-01-09 thomas .It Cm End
339 912a3f79 2021-08-30 j Scroll to the bottom of the view.
341 aa7a1117 2023-01-09 thomas Scroll to line N (default: 1).
345 aa7a1117 2023-01-09 thomas but defaults to the last line in the diff.
346 82c78e96 2022-08-06 thomas .It Cm \&(
347 82c78e96 2022-08-06 thomas Navigate to the Nth previous file in the diff (default: 1).
348 82c78e96 2022-08-06 thomas .It Cm \&)
349 82c78e96 2022-08-06 thomas Navigate to the Nth next file in the diff (default: 1).
350 82c78e96 2022-08-06 thomas .It Cm \&{
351 82c78e96 2022-08-06 thomas Navigate to the Nth previous hunk in the diff (default: 1).
352 82c78e96 2022-08-06 thomas .It Cm \&}
353 82c78e96 2022-08-06 thomas Navigate to the Nth next hunk in the diff (default: 1).
355 07b0611c 2022-06-23 thomas Reduce diff context by N lines (default: 1).
357 07b0611c 2022-06-23 thomas Increase diff context by N lines (default: 1).
358 777aae21 2022-07-20 thomas .It Cm <, Comma, K
361 01ca22b1 2020-12-07 stsp view was opened via the
363 4fc71f3b 2022-07-12 thomas view, move to the Nth previous (younger) commit.
364 4fc71f3b 2022-07-12 thomas If the diff was opened via the
365 4fc71f3b 2022-07-12 thomas .Cm blame
366 4fc71f3b 2022-07-12 thomas view, move to the Nth previous line and load the corresponding commit
367 4fc71f3b 2022-07-12 thomas (default: 1).
368 777aae21 2022-07-20 thomas .It Cm >, Full stop, J
371 01ca22b1 2020-12-07 stsp view was opened via the
373 4fc71f3b 2022-07-12 thomas view, move to the Nth next (older) commit.
374 4fc71f3b 2022-07-12 thomas If the diff was opened via the
375 4fc71f3b 2022-07-12 thomas .Cm blame
376 4fc71f3b 2022-07-12 thomas view, move to the Nth next line and load the corresponding commit (default: 1).
378 0e404f95 2020-11-14 stsp Prompt for a search pattern and start searching for matching lines.
379 66dc9065 2020-02-15 stsp The search pattern is an extended regular expression.
380 66dc9065 2020-02-15 stsp Regular expression syntax is documented in
381 66dc9065 2020-02-15 stsp .Xr re_format 7 .
383 07b0611c 2022-06-23 thomas Find the Nth next line which matches the current search pattern (default: 1).
385 07b0611c 2022-06-23 thomas Find the Nth previous line which matches the current search pattern
386 07b0611c 2022-06-23 thomas (default: 1).
388 3dbaef42 2020-11-24 stsp Toggle display of whitespace-only changes.
390 adf4c9e0 2022-07-03 thomas Change the diff algorithm.
391 d40a767d 2022-07-03 thomas Supported diff algorithms are Myers (quick and dirty) and
392 d40a767d 2022-07-03 thomas Patience (slow and tidy).
393 adf4c9e0 2022-07-03 thomas This is a global setting which also affects the
394 adf4c9e0 2022-07-03 thomas .Cm blame
398 09b5bff8 2020-02-23 naddy The options for
399 09b5bff8 2020-02-23 naddy .Cm tog diff
400 09b5bff8 2020-02-23 naddy are as follows:
401 09b5bff8 2020-02-23 naddy .Bl -tag -width Ds
403 64453f7e 2020-11-21 stsp Treat file contents as ASCII text even if binary data is detected.
404 3dbaef42 2020-11-24 stsp .It Fl C Ar number
405 3dbaef42 2020-11-24 stsp Set the number of context lines shown in the diff.
406 3dbaef42 2020-11-24 stsp By default, 3 lines of context are shown.
407 09b5bff8 2020-02-23 naddy .It Fl r Ar repository-path
408 09b5bff8 2020-02-23 naddy Use the repository at the specified path.
409 09b5bff8 2020-02-23 naddy If not specified, assume the repository is located at or above the current
410 09b5bff8 2020-02-23 naddy working directory.
411 212b39d1 2020-02-24 naddy If this directory is a
413 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
415 3dbaef42 2020-11-24 stsp Ignore whitespace-only changes.
418 56c96eff 2022-08-30 thomas .Cm blame
419 56c96eff 2022-08-30 thomas .Op Fl c Ar commit
420 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
423 030916b5 2018-07-12 stsp Display line-by-line history of a file at the specified path.
425 030916b5 2018-07-12 stsp The key bindings for
426 030916b5 2018-07-12 stsp .Cm tog blame
427 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
428 030916b5 2018-07-12 stsp .Bl -tag -width Ds
429 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, Ctrl-n
430 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
431 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, Ctrl-p
432 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
433 05171be4 2022-06-23 thomas .It Cm Right-arrow, l
434 07b0611c 2022-06-23 thomas Scroll view to the right N increments (default: 1).
436 d74d8993 2022-06-23 thomas File output moves left on the screen.
437 05171be4 2022-06-23 thomas .It Cm Left-arrow, h
438 07b0611c 2022-06-23 thomas Scroll view to the left N increments (default: 1).
440 d74d8993 2022-06-23 thomas File output moves right on the screen.
442 05171be4 2022-06-23 thomas Scroll view to the rightmost position.
444 05171be4 2022-06-23 thomas Scroll view left to the start of the line.
445 1c5e5faa 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
446 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
447 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
448 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
449 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
450 07b0611c 2022-06-23 thomas Move the selection cursor down N half pages (default: 1).
451 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
452 07b0611c 2022-06-23 thomas Move the selection cursor up N half pages (default: 1).
453 aa7a1117 2023-01-09 thomas .It Cm Home
454 4deef56f 2021-09-02 naddy Move the selection cursor to the first line of the file.
455 aa7a1117 2023-01-09 thomas .It Cm End
456 4deef56f 2021-09-02 naddy Move the selection cursor to the last line of the file.
458 aa7a1117 2023-01-09 thomas Move the selection cursor to line N (default: 1).
462 aa7a1117 2023-01-09 thomas but defaults to the last line in the file.
463 030916b5 2018-07-12 stsp .It Cm Enter
466 030916b5 2018-07-12 stsp view for the currently selected line's commit.
470 c0d30c23 2018-10-07 stsp view with the version of the file as found in the currently
471 c0d30c23 2018-10-07 stsp selected line's commit.
475 c0d30c23 2018-10-07 stsp view with the version of the file as found in the parent commit of the
476 c0d30c23 2018-10-07 stsp currently selected line's commit.
480 c0d30c23 2018-10-07 stsp view with the previously blamed commit.
484 eaeaa612 2022-07-20 thomas view for the currently selected annotated line.
486 0e404f95 2020-11-14 stsp Prompt for a search pattern and start searching for matching lines.
487 6c4c42e0 2019-06-24 stsp The search pattern is an extended regular expression.
488 6c4c42e0 2019-06-24 stsp Regular expression syntax is documented in
489 6c4c42e0 2019-06-24 stsp .Xr re_format 7 .
491 07b0611c 2022-06-23 thomas Find the Nth next line which matches the current search pattern (default: 1).
493 07b0611c 2022-06-23 thomas Find the Nth previous line which matches the current search pattern
494 07b0611c 2022-06-23 thomas (default: 1).
496 adf4c9e0 2022-07-03 thomas Change the diff algorithm.
497 d40a767d 2022-07-03 thomas Supported diff algorithms are Myers (quick and dirty) and
498 d40a767d 2022-07-03 thomas Patience (slow and tidy).
499 adf4c9e0 2022-07-03 thomas This is a global setting which also affects the
504 030916b5 2018-07-12 stsp The options for
505 030916b5 2018-07-12 stsp .Cm tog blame
506 030916b5 2018-07-12 stsp are as follows:
507 030916b5 2018-07-12 stsp .Bl -tag -width Ds
508 030916b5 2018-07-12 stsp .It Fl c Ar commit
509 030916b5 2018-07-12 stsp Start traversing history at the specified
510 030916b5 2018-07-12 stsp .Ar commit .
511 a54b6686 2019-06-28 stsp The expected argument is the name of a branch or a commit ID SHA1 hash.
512 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
513 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
514 69069811 2018-08-02 stsp .It Fl r Ar repository-path
515 69069811 2018-08-02 stsp Use the repository at the specified path.
516 69069811 2018-08-02 stsp If not specified, assume the repository is located at or above the current
517 69069811 2018-08-02 stsp working directory.
518 212b39d1 2020-02-24 naddy If this directory is a
520 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
524 56c96eff 2022-08-30 thomas .Op Fl c Ar commit
525 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
526 56c96eff 2022-08-30 thomas .Op Ar path
528 030916b5 2018-07-12 stsp Display the repository tree.
531 55cccc34 2020-02-20 stsp is specified, show tree entries at this path.
533 848d6979 2019-08-12 stsp Displayed tree entries may carry one of the following trailing annotations:
534 848d6979 2019-08-12 stsp .Bl -column YXZ description
535 848d6979 2019-08-12 stsp .It @ Ta entry is a symbolic link
536 848d6979 2019-08-12 stsp .It / Ta entry is a directory
537 848d6979 2019-08-12 stsp .It * Ta entry is an executable file
538 63c5ca5d 2019-08-24 stsp .It $ Ta entry is a Git submodule
541 0d6c6ee3 2020-05-20 stsp Symbolic link entries are also annotated with the target path of the link.
543 030916b5 2018-07-12 stsp The key bindings for
544 030916b5 2018-07-12 stsp .Cm tog tree
545 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
546 030916b5 2018-07-12 stsp .Bl -tag -width Ds
547 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, Ctrl-n
548 07b0611c 2022-06-23 thomas Move the selection cursor down N lines (default: 1).
549 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, Ctrl-p
550 07b0611c 2022-06-23 thomas Move the selection cursor up N lines (default: 1).
551 4c2d69cb 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
552 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
553 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
554 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
555 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
556 07b0611c 2022-06-23 thomas Move the selection cursor down N half pages (default: 1).
557 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
558 07b0611c 2022-06-23 thomas Move the selection cursor up N half pages (default: 1).
559 aa7a1117 2023-01-09 thomas .It Cm Home, =
560 e4526bf5 2021-09-03 naddy Move the selection cursor to the first entry.
561 aa7a1117 2023-01-09 thomas .It Cm End, *
562 e4526bf5 2021-09-03 naddy Move the selection cursor to the last entry.
564 aa7a1117 2023-01-09 thomas Move the selection cursor to entry N (default: 1).
568 aa7a1117 2023-01-09 thomas but defaults to the last entry.
569 030916b5 2018-07-12 stsp .It Cm Enter
570 030916b5 2018-07-12 stsp Enter the currently selected directory, or switch to the
572 030916b5 2018-07-12 stsp view for the currently selected file.
576 69efd4c4 2018-07-18 stsp view for the currently selected tree entry.
580 152c1c93 2020-11-29 stsp view listing all references in the repository.
581 152c1c93 2020-11-29 stsp This can then be used to open a new
583 152c1c93 2020-11-29 stsp view for arbitrary branches and tags.
584 7837eeac 2018-09-24 stsp .It Cm Backspace
585 07b0611c 2022-06-23 thomas Move back to the Nth parent directory (default: 1).
587 c0d30c23 2018-10-07 stsp Show object IDs for all objects displayed in the
591 4eec20aa 2019-06-22 stsp Prompt for a search pattern and start searching for matching tree entries.
592 4eec20aa 2019-06-22 stsp The search pattern is an extended regular expression which is matched
593 4eec20aa 2019-06-22 stsp against the tree entry's name.
594 4eec20aa 2019-06-22 stsp Regular expression syntax is documented in
595 4eec20aa 2019-06-22 stsp .Xr re_format 7 .
597 07b0611c 2022-06-23 thomas Find the Nth next tree entry which matches the current search pattern
598 07b0611c 2022-06-23 thomas (default: 1).
600 07b0611c 2022-06-23 thomas Find the Nth previous tree entry which matches the current search pattern
601 07b0611c 2022-06-23 thomas (default: 1).
604 030916b5 2018-07-12 stsp The options for
605 030916b5 2018-07-12 stsp .Cm tog tree
606 030916b5 2018-07-12 stsp are as follows:
607 030916b5 2018-07-12 stsp .Bl -tag -width Ds
608 030916b5 2018-07-12 stsp .It Fl c Ar commit
609 030916b5 2018-07-12 stsp Start traversing history at the specified
610 030916b5 2018-07-12 stsp .Ar commit .
611 a54b6686 2019-06-28 stsp The expected argument is the name of a branch or a commit ID SHA1 hash.
612 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
613 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
614 38cb327b 2020-11-24 stsp .It Fl r Ar repository-path
615 38cb327b 2020-11-24 stsp Use the repository at the specified path.
616 38cb327b 2020-11-24 stsp If not specified, assume the repository is located at or above the current
617 38cb327b 2020-11-24 stsp working directory.
618 38cb327b 2020-11-24 stsp If this directory is a
620 38cb327b 2020-11-24 stsp work tree, use the repository path associated with this work tree.
622 56c96eff 2022-08-30 thomas .It Cm ref Op Fl r Ar repository-path
623 38cb327b 2020-11-24 stsp Display references in the repository.
625 38cb327b 2020-11-24 stsp The key bindings for
626 38cb327b 2020-11-24 stsp .Cm tog ref
627 07b0611c 2022-06-23 thomas are as follows (N denotes optional prefixed count modifier):
628 38cb327b 2020-11-24 stsp .Bl -tag -width Ds
629 f7140bf5 2021-10-17 thomas .It Cm Down-arrow, j, Ctrl-n
630 07b0611c 2022-06-23 thomas Move the selection cursor down N lines (default: 1).
631 f7140bf5 2021-10-17 thomas .It Cm Up-arrow, k, Ctrl-p
632 07b0611c 2022-06-23 thomas Move the selection cursor up N lines (default: 1).
633 4c2d69cb 2022-06-23 thomas .It Cm Page-down, Space, Ctrl+f, f
634 07b0611c 2022-06-23 thomas Move the selection cursor down N pages (default: 1).
635 1c5e5faa 2022-06-23 thomas .It Cm Page-up, Ctrl+b, b
636 07b0611c 2022-06-23 thomas Move the selection cursor up N pages (default: 1).
637 23427b14 2022-06-23 thomas .It Cm Ctrl+d, d
638 07b0611c 2022-06-23 thomas Move the selection cursor down N half pages (default: 1).
639 23427b14 2022-06-23 thomas .It Cm Ctrl+u, u
640 07b0611c 2022-06-23 thomas Move the selection cursor up N half pages (default: 1).
641 aa7a1117 2023-01-09 thomas .It Cm Home, =
642 e4526bf5 2021-09-03 naddy Move the selection cursor to the first reference.
643 aa7a1117 2023-01-09 thomas .It Cm End, *
644 e4526bf5 2021-09-03 naddy Move the selection cursor to the last reference.
646 aa7a1117 2023-01-09 thomas Move the selection cursor to reference N (default: 1).
650 aa7a1117 2023-01-09 thomas but defaults to the last reference.
651 38cb327b 2020-11-24 stsp .It Cm Enter
654 01ca22b1 2020-12-07 stsp view which begins traversing history at the commit resolved via the
655 38cb327b 2020-11-24 stsp currently selected reference.
659 c42c9805 2020-11-24 stsp view showing the tree resolved via the currently selected reference.
661 38cb327b 2020-11-24 stsp Show object IDs for all non-symbolic references displayed in the
665 84227eb1 2022-06-23 thomas Show last modified date of each displayed reference.
667 3bfadbd4 2021-11-20 thomas Toggle display order of references between sort by name and sort by timestamp.
669 38cb327b 2020-11-24 stsp Prompt for a search pattern and start searching for matching references.
670 38cb327b 2020-11-24 stsp The search pattern is an extended regular expression which is matched
671 38cb327b 2020-11-24 stsp against absolute reference names.
672 38cb327b 2020-11-24 stsp Regular expression syntax is documented in
673 38cb327b 2020-11-24 stsp .Xr re_format 7 .
675 07b0611c 2022-06-23 thomas Find the Nth next reference which matches the current search pattern
676 07b0611c 2022-06-23 thomas (default: 1).
678 07b0611c 2022-06-23 thomas Find the Nth previous reference which matches the current search pattern
679 07b0611c 2022-06-23 thomas (default: 1).
680 38cb327b 2020-11-24 stsp .It Cm Ctrl+l
681 38cb327b 2020-11-24 stsp Reload the list of references displayed by the
686 38cb327b 2020-11-24 stsp The options for
687 38cb327b 2020-11-24 stsp .Cm tog ref
688 38cb327b 2020-11-24 stsp are as follows:
689 38cb327b 2020-11-24 stsp .Bl -tag -width Ds
690 74283ab8 2020-02-07 stsp .It Fl r Ar repository-path
691 74283ab8 2020-02-07 stsp Use the repository at the specified path.
692 74283ab8 2020-02-07 stsp If not specified, assume the repository is located at or above the current
693 74283ab8 2020-02-07 stsp working directory.
694 74283ab8 2020-02-07 stsp If this directory is a
696 74283ab8 2020-02-07 stsp work tree, use the repository path associated with this work tree.
699 6d17833f 2019-11-08 stsp .Sh ENVIRONMENT
700 64486692 2022-07-07 thomas .Bl -tag -width TOG_VIEW_SPLIT_MODE
701 adf4c9e0 2022-07-03 thomas .It Ev TOG_DIFF_ALGORITHM
702 adf4c9e0 2022-07-03 thomas Determines the default diff algorithm used by
704 d40a767d 2022-07-03 thomas Supported diff algorithms are Myers (quick and dirty) and
705 d40a767d 2022-07-03 thomas Patience (slow and tidy).
706 d40a767d 2022-07-03 thomas Valid values for
707 d40a767d 2022-07-03 thomas .Ev TOG_DIFF_ALGORITHM
709 adf4c9e0 2022-07-03 thomas .Dq patience
711 adf4c9e0 2022-07-03 thomas .Dq myers .
712 adf4c9e0 2022-07-03 thomas If unset, the Myers diff algorithm will be used by default.
713 0b948cdd 2022-07-04 thomas .It Ev TOG_VIEW_SPLIT_MODE
714 569abcd7 2022-07-12 thomas Determines the default layout of split-screen views.
715 0b948cdd 2022-07-04 thomas If set to
720 569abcd7 2022-07-12 thomas will use horizontal split by default.
721 569abcd7 2022-07-12 thomas Otherwise, vertical split will be used.
724 569abcd7 2022-07-12 thomas key can be used to switch between vertical and horizontal split layout
725 569abcd7 2022-07-12 thomas at run-time.
726 6d17833f 2019-11-08 stsp .It Ev TOG_COLORS
728 6d17833f 2019-11-08 stsp shows colorized output if this variable is set to a non-empty value.
729 6d17833f 2019-11-08 stsp The default color scheme can be modified by setting the environment
730 6d17833f 2019-11-08 stsp variables documented below.
731 6d17833f 2019-11-08 stsp The colors available in color schemes are
732 6d17833f 2019-11-08 stsp .Dq black ,
734 6d17833f 2019-11-08 stsp .Dq green ,
735 6d17833f 2019-11-08 stsp .Dq yellow ,
737 93a300b2 2021-08-26 stsp .Dq magenta ,
740 1d7fe5cd 2019-11-08 stsp .Dq default
741 1d7fe5cd 2019-11-08 stsp which maps to the terminal's default foreground color.
742 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_MINUS
743 6d17833f 2019-11-08 stsp The color used to mark up removed lines in diffs.
744 6d17833f 2019-11-08 stsp If not set, the default value
745 6d17833f 2019-11-08 stsp .Dq magenta
747 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_PLUS
748 6d17833f 2019-11-08 stsp The color used to mark up added lines in diffs.
749 6d17833f 2019-11-08 stsp If not set, the default value
752 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_CHUNK_HEADER
753 6d17833f 2019-11-08 stsp The color used to mark up chunk header lines in diffs.
754 6d17833f 2019-11-08 stsp If not set, the default value
757 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_META
758 6d17833f 2019-11-08 stsp The color used to mark up meta data in diffs.
759 c0b01bdb 2019-11-08 stsp If not set, the default value
762 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_SUBMODULE
763 93a300b2 2021-08-26 stsp The color used to mark up submodule tree entries.
764 c0b01bdb 2019-11-08 stsp If not set, the default value
765 c0b01bdb 2019-11-08 stsp .Dq magenta
767 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_SYMLINK
768 c0b01bdb 2019-11-08 stsp The color used to mark up symbolic link tree entries.
769 c0b01bdb 2019-11-08 stsp If not set, the default value
770 91b8c405 2020-01-25 stsp .Dq magenta
772 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_DIRECTORY
773 c0b01bdb 2019-11-08 stsp The color used to mark up directory tree entries.
774 6d17833f 2019-11-08 stsp If not set, the default value
777 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_EXECUTABLE
778 c0b01bdb 2019-11-08 stsp The color used to mark up executable file tree entries.
779 c0b01bdb 2019-11-08 stsp If not set, the default value
782 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_COMMIT
783 11b20872 2019-11-08 stsp The color used to mark up commit IDs.
784 11b20872 2019-11-08 stsp If not set, the default value
787 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_AUTHOR
788 11b20872 2019-11-08 stsp The color used to mark up author information.
789 11b20872 2019-11-08 stsp If not set, the default value
792 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_DATE
793 11b20872 2019-11-08 stsp The color used to mark up date information.
794 11b20872 2019-11-08 stsp If not set, the default value
797 38cb327b 2020-11-24 stsp .It Ev TOG_COLOR_REFS_HEADS
798 38cb327b 2020-11-24 stsp The color used to mark up references in the
799 38cb327b 2020-11-24 stsp .Dq refs/heads/
801 38cb327b 2020-11-24 stsp If not set, the default value
804 38cb327b 2020-11-24 stsp .It Ev TOG_COLOR_REFS_TAGS
805 38cb327b 2020-11-24 stsp The color used to mark up references in the
806 38cb327b 2020-11-24 stsp .Dq refs/tags/
808 38cb327b 2020-11-24 stsp If not set, the default value
809 38cb327b 2020-11-24 stsp .Dq magenta
811 38cb327b 2020-11-24 stsp .It Ev TOG_COLOR_REFS_REMOTES
812 38cb327b 2020-11-24 stsp The color used to mark up references in the
813 38cb327b 2020-11-24 stsp .Dq refs/remotes/
815 38cb327b 2020-11-24 stsp If not set, the default value
818 2183bbf6 2022-01-23 thomas .It Ev TOG_COLOR_REFS_BACKUP
819 2183bbf6 2022-01-23 thomas The color used to mark up references in the
820 2183bbf6 2022-01-23 thomas .Dq refs/got/backup/
821 2183bbf6 2022-01-23 thomas namespace.
822 2183bbf6 2022-01-23 thomas If not set, the default value
826 030916b5 2018-07-12 stsp .Sh EXIT STATUS
827 030916b5 2018-07-12 stsp .Ex -std tog
828 030916b5 2018-07-12 stsp .Sh SEE ALSO
829 56b9a4ca 2019-06-21 stsp .Xr got 1 ,
830 56b9a4ca 2019-06-21 stsp .Xr git-repository 5 ,
831 56b9a4ca 2019-06-21 stsp .Xr re_format 7
832 030916b5 2018-07-12 stsp .Sh AUTHORS
833 60c73080 2022-07-05 thomas .An Christian Weisgerber Aq Mt naddy@openbsd.org
834 60c73080 2022-07-05 thomas .An Josh Rickmar Aq Mt jrick@zettaport.com
835 bc3056e3 2019-08-18 stsp .An Joshua Stein Aq Mt jcs@openbsd.org
836 60c73080 2022-07-05 thomas .An Mark Jamsek Aq Mt mark@jamsek.dev
837 60c73080 2022-07-05 thomas .An Martin Pieuchot Aq Mt mpi@openbsd.org
838 60c73080 2022-07-05 thomas .An Omar Polo Aq Mt op@openbsd.org
839 60c73080 2022-07-05 thomas .An Stefan Sperling Aq Mt stsp@openbsd.org
840 60c73080 2022-07-05 thomas .An Klemens Nanni Aq Mt kn@openbsd.org