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
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 640cd7ff 2022-06-22 mark Some command-specific key bindings may be prefixed with an integer, which is
59 640cd7ff 2022-06-22 mark denoted by N in the descriptions below, and is used as a modifier to the
60 640cd7ff 2022-06-22 mark operation as indicated.
62 f0032ce6 2022-07-02 mark will echo digits to the screen when count modifiers are entered, and complete
63 f0032ce6 2022-07-02 mark the sequence upon input of the first non-numeric character.
64 f0032ce6 2022-07-02 mark Count modifiers can be aborted by entering an unmapped key.
65 a6d37fac 2022-07-03 mark Once a compound command is executed, the operation can be cancelled with
68 a6d37fac 2022-07-03 mark .Cm Backspace .
70 3b95caf0 2022-10-04 stsp Global options must precede the command name, and are as follows:
71 3b95caf0 2022-10-04 stsp .Bl -tag -width tenletters
73 3b95caf0 2022-10-04 stsp Display usage information.
74 3b95caf0 2022-10-04 stsp .It Fl V , -version
75 3b95caf0 2022-10-04 stsp 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 ec2a9698 2022-09-15 mark .It Cm H, F1
81 ec2a9698 2022-09-15 mark Display run-time help.
82 ec2a9698 2022-09-15 mark Key bindings for the focussed view will be displayed.
83 ec2a9698 2022-09-15 mark Pressing this again inside the help view will toggle the display of
84 ec2a9698 2022-09-15 mark 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 67d6e2c2 2022-07-12 stsp will automatically use vertical split-screen views if the size of the
98 67d6e2c2 2022-07-12 stsp terminal window is sufficiently large.
100 2572d286 2022-07-12 stsp Switch the current split-screen layout, and render all active views in
101 2572d286 2022-07-12 stsp this new layout.
102 67d6e2c2 2022-07-12 stsp The split-screen layout can be either vertical or horizontal.
103 2572d286 2022-07-12 stsp If the terminal is not wide enough when switching to a vertical split,
104 2572d286 2022-07-12 stsp views will render in fullscreen.
106 3c1dfe12 2022-07-08 mark When in a split-screen view, decrease the size of the focussed split
107 3c1dfe12 2022-07-08 mark N increments (default: 1).
109 3c1dfe12 2022-07-08 mark When in a split-screen view, increase the size of the focussed split
110 3c1dfe12 2022-07-08 mark N increments (default: 1).
112 94b80cfa 2022-08-01 mark Go to line N in the view (default: last line).
114 94b80cfa 2022-08-01 mark Go to line N in the view (default: first line).
115 d627976f 2023-02-01 mark .It Cm Right-arrow, l
116 d627976f 2023-02-01 mark Scroll view to the right N increments (default: 1).
118 d627976f 2023-02-01 mark Output moves left on the screen.
119 d627976f 2023-02-01 mark .It Cm Left-arrow, h
120 d627976f 2023-02-01 mark Scroll view to the left N increments (default: 1).
122 d627976f 2023-02-01 mark Output moves right on the screen.
124 d627976f 2023-02-01 mark Scroll view to the rightmost position.
126 d627976f 2023-02-01 mark Scroll view left to the start of the line.
129 030916b5 2018-07-12 stsp The commands for
131 030916b5 2018-07-12 stsp are as follows:
132 030916b5 2018-07-12 stsp .Bl -tag -width blame
136 5fc4f020 2022-08-30 op .Op Fl c Ar commit
137 5fc4f020 2022-08-30 op .Op Fl r Ar repository-path
140 030916b5 2018-07-12 stsp Display history of a repository.
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
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.
150 c935fd51 2023-07-23 mark If invoked in a work tree, the log entry of the work tree's base commit will
151 c935fd51 2023-07-23 mark be prefixed with one of the following annotations:
152 c935fd51 2023-07-23 mark .Bl -column YXZ description
153 c935fd51 2023-07-23 mark .It * Ta work tree's base commit and the base commit of all tracked files
154 c935fd51 2023-07-23 mark matches the branch tip
155 c935fd51 2023-07-23 mark .It \(a~ Ta work tree comprises mixed commits or its base commit is out-of-date
158 030916b5 2018-07-12 stsp This command is also executed if no explicit command is specified.
160 030916b5 2018-07-12 stsp The key bindings for
161 030916b5 2018-07-12 stsp .Cm tog log
162 640cd7ff 2022-06-22 mark are as follows (N denotes optional prefixed count modifier):
163 030916b5 2018-07-12 stsp .Bl -tag -width Ds
164 02ffd0d5 2021-10-17 stsp .It Cm Down-arrow, j, >, Full stop, Ctrl-n
165 640cd7ff 2022-06-22 mark Move the selection cursor down N lines (default: 1).
166 02ffd0d5 2021-10-17 stsp .It Cm Up-arrow, k, <, Comma, Ctrl-p
167 640cd7ff 2022-06-22 mark Move the selection cursor up N lines (default: 1).
168 48bb96f0 2022-06-20 naddy .It Cm Page-down, Space, Ctrl+f, f
169 640cd7ff 2022-06-22 mark Move the selection cursor down N pages (default: 1).
170 61417565 2022-06-20 mark .It Cm Page-up, Ctrl+b, b
171 640cd7ff 2022-06-22 mark Move the selection cursor up N pages (default: 1).
172 33c3719a 2022-06-15 stsp .It Cm Ctrl+d, d
173 640cd7ff 2022-06-22 mark Move the selection cursor down N half pages (default: 1).
174 33c3719a 2022-06-15 stsp .It Cm Ctrl+u, u
175 640cd7ff 2022-06-22 mark Move the selection cursor up N half pages (default: 1).
176 0b3f028d 2023-01-09 mark .It Cm Home, =
177 912a3f79 2021-08-30 j Move the cursor to the newest commit.
178 0b3f028d 2023-01-09 mark .It Cm End, *
179 912a3f79 2021-08-30 j Move the cursor to the oldest commit.
180 1dd93b2a 2021-08-30 stsp This will traverse all commits on the current branch which may take
181 1dd93b2a 2021-08-30 stsp a long time depending on the number of commits in branch history.
182 e38d4cde 2022-03-21 naddy If needed, this operation can be cancelled with
185 9ebbe6e1 2021-08-30 stsp .Cm Backspace .
187 0b3f028d 2023-01-09 mark Move the cursor to commit N (default: 1).
191 0b3f028d 2023-01-09 mark but defaults to the oldest commit.
192 48bb96f0 2022-06-20 naddy .It Cm Enter
195 030916b5 2018-07-12 stsp view showing file changes made in the currently selected commit.
199 030916b5 2018-07-12 stsp view showing the tree for the currently selected commit.
200 5036bf37 2018-09-24 stsp .It Cm Backspace
201 26f0cb24 2021-08-30 j Show log entries for the parent directory of the currently selected path.
202 26f0cb24 2021-08-30 j However when an active search is in progress or when additional commits
204 678cbce5 2019-07-28 stsp .Cm Backspace
205 26f0cb24 2021-08-30 j aborts the running operation.
207 60493ae3 2019-06-20 stsp Prompt for a search pattern and start searching for matching commits.
208 60493ae3 2019-06-20 stsp The search pattern is an extended regular expression which is matched
209 df0b3d8a 2019-06-28 stsp against a commit's author name, committer name, log message, and
210 df0b3d8a 2019-06-28 stsp commit ID SHA1 hash.
211 e6c76b79 2019-06-21 stsp Regular expression syntax is documented in
212 e6c76b79 2019-06-21 stsp .Xr re_format 7 .
214 e19e72cd 2022-09-23 stsp Prompt for a pattern and limit the log view's list of commits to those
215 e19e72cd 2022-09-23 stsp which match the pattern.
216 e19e72cd 2022-09-23 stsp If no pattern is specified, i.e. the
218 e19e72cd 2022-09-23 stsp prompt is immediately closed with the Enter key, then the pattern is
220 e19e72cd 2022-09-23 stsp Until the pattern is cleared, the limited list of commits replaces the
221 e19e72cd 2022-09-23 stsp full list of commits for all operations supported by the log view.
222 e19e72cd 2022-09-23 stsp For example, a search started with
224 e19e72cd 2022-09-23 stsp will search the limited list of commits, rather than searching all commits.
225 e19e72cd 2022-09-23 stsp The pattern is an extended regular expression which is matched
226 e19e72cd 2022-09-23 stsp against a commit's author name, committer name, log message, and
227 e19e72cd 2022-09-23 stsp commit ID SHA1 hash.
228 e19e72cd 2022-09-23 stsp Regular expression syntax is documented in
229 e19e72cd 2022-09-23 stsp .Xr re_format 7 .
231 640cd7ff 2022-06-22 mark Find the Nth next commit which matches the current search pattern (default: 1).
233 a6d37fac 2022-07-03 mark Searching continues until either a match is found or
236 678cbce5 2019-07-28 stsp .Cm Backspace
237 678cbce5 2019-07-28 stsp key is pressed.
239 640cd7ff 2022-06-22 mark Find the Nth previous commit which matches the current search pattern
240 640cd7ff 2022-06-22 mark (default: 1).
242 a6d37fac 2022-07-03 mark Searching continues until either a match is found or
245 678cbce5 2019-07-28 stsp .Cm Backspace
246 678cbce5 2019-07-28 stsp key is pressed.
247 bf0668dd 2019-06-26 stsp .It Cm Ctrl+l
250 01ca22b1 2020-12-07 stsp view with new commits found in the repository.
254 01ca22b1 2020-12-07 stsp view and toggle display of merged commits.
257 b672a97a 2020-01-27 stsp option determines whether merged commits are displayed initially.
261 38cb327b 2020-11-24 stsp view listing all references in the repository.
262 38cb327b 2020-11-24 stsp This can then be used to open a new
264 38cb327b 2020-11-24 stsp view for arbitrary branches and tags.
266 3bf00f25 2023-01-02 stsp Toggle between showing the committer name and the author name.
269 030916b5 2018-07-12 stsp The options for
270 030916b5 2018-07-12 stsp .Cm tog log
271 030916b5 2018-07-12 stsp are as follows:
272 030916b5 2018-07-12 stsp .Bl -tag -width Ds
274 1137e0ae 2020-01-27 stsp Display individual commits which were merged into the current branch
275 1137e0ae 2020-01-27 stsp from other branches.
276 b672a97a 2020-01-27 stsp By default,
277 b672a97a 2020-01-27 stsp .Cm tog log
278 b672a97a 2020-01-27 stsp shows the linear history of the current branch only.
281 b672a97a 2020-01-27 stsp key binding can be used to toggle display of merged commits at run-time.
282 030916b5 2018-07-12 stsp .It Fl c Ar commit
283 030916b5 2018-07-12 stsp Start traversing history at the specified
284 030916b5 2018-07-12 stsp .Ar commit .
285 c4df265e 2023-07-19 mark The expected argument is a commit ID SHA1 hash, or a reference name or keyword
286 c4df265e 2023-07-19 mark which will be resolved to a commit ID.
287 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
288 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
289 c4df265e 2023-07-19 mark The keywords
293 c4df265e 2023-07-19 mark resolve to the work tree's base commit and branch head, respectively.
294 c4df265e 2023-07-19 mark The former is only valid if invoked in a work tree, while the latter will
295 c4df265e 2023-07-19 mark resolve to the tip of the work tree's current branch if invoked in a
296 c4df265e 2023-07-19 mark work tree, otherwise it will resolve to the repository's HEAD reference.
297 c4df265e 2023-07-19 mark Keywords and references may be appended with
301 c4df265e 2023-07-19 mark modifiers and an optional integer N to denote the
302 c4df265e 2023-07-19 mark Nth descendant or antecedent by first parent traversal, respectively;
303 c4df265e 2023-07-19 mark for example,
304 c4df265e 2023-07-19 mark .Sy :head:-2
305 c4df265e 2023-07-19 mark denotes the work tree branch head's 2nd generation ancestor, and
306 c4df265e 2023-07-19 mark .Sy :base:+4
307 c4df265e 2023-07-19 mark denotes the 4th generation descendant of the work tree's base commit.
309 c4df265e 2023-07-19 mark .Sy foobar:+3
310 c4df265e 2023-07-19 mark will denote the 3rd generation descendant of the commit resolved by the
317 c4df265e 2023-07-19 mark modifier without a trailing integer has an implicit
321 c4df265e 2023-07-19 mark .Sy :base:+
322 c4df265e 2023-07-19 mark is equivalent to
323 c4df265e 2023-07-19 mark .Sy :base:+1
325 ecb28ae0 2018-07-16 stsp .It Fl r Ar repository-path
326 ecb28ae0 2018-07-16 stsp Use the repository at the specified path.
327 ecb28ae0 2018-07-16 stsp If not specified, assume the repository is located at or above the current
328 ecb28ae0 2018-07-16 stsp working directory.
329 212b39d1 2020-02-24 naddy If this directory is a
331 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
336 5fc4f020 2022-08-30 op .Op Fl C Ar number
337 5fc4f020 2022-08-30 op .Op Fl r Ar repository-path
341 030916b5 2018-07-12 stsp Display the differences between two objects in the repository.
342 c4df265e 2023-07-19 mark Treat each of the two arguments as a reference, a tag name, an object
343 c4df265e 2023-07-19 mark ID SHA1 hash, or a keyword and display differences between the corresponding
345 3dbaef42 2020-11-24 stsp Both objects must be of the same type (blobs, trees, or commits).
346 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
347 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
348 c4df265e 2023-07-19 mark The keywords
352 c4df265e 2023-07-19 mark resolve to the work tree's base commit and branch head, respectively.
353 c4df265e 2023-07-19 mark The former is only valid if invoked in a work tree, while the latter will
354 c4df265e 2023-07-19 mark resolve to the tip of the work tree's current branch if invoked in a
355 c4df265e 2023-07-19 mark work tree, otherwise it will resolve to the repository's HEAD reference.
356 c4df265e 2023-07-19 mark Keywords and references may be appended with
360 c4df265e 2023-07-19 mark modifiers and an optional integer N to denote the
361 c4df265e 2023-07-19 mark Nth descendant or antecedent by first parent traversal, respectively;
362 c4df265e 2023-07-19 mark for example,
363 c4df265e 2023-07-19 mark .Sy :head:-2
364 c4df265e 2023-07-19 mark denotes the work tree branch head's 2nd generation ancestor, and
365 c4df265e 2023-07-19 mark .Sy :base:+4
366 c4df265e 2023-07-19 mark denotes the 4th generation descendant of the work tree's base commit.
368 c4df265e 2023-07-19 mark .Sy foobar:+3
369 c4df265e 2023-07-19 mark will denote the 3rd generation descendant of the commit resolved by the
376 c4df265e 2023-07-19 mark modifier without a trailing integer has an implicit
380 c4df265e 2023-07-19 mark .Sy :base:+
381 c4df265e 2023-07-19 mark is equivalent to
382 c4df265e 2023-07-19 mark .Sy :base:+1
385 030916b5 2018-07-12 stsp The key bindings for
386 030916b5 2018-07-12 stsp .Cm tog diff
387 640cd7ff 2022-06-22 mark are as follows (N denotes optional prefixed count modifier):
388 030916b5 2018-07-12 stsp .Bl -tag -width Ds
390 64453f7e 2020-11-21 stsp Toggle treatment of file contents as ASCII text even if binary data was
392 02ffd0d5 2021-10-17 stsp .It Cm Down-arrow, j, Ctrl-n
393 640cd7ff 2022-06-22 mark Scroll down N lines (default: 1).
394 02ffd0d5 2021-10-17 stsp .It Cm Up-arrow, k, Ctrl-p
395 640cd7ff 2022-06-22 mark Scroll up N lines (default: 1).
396 61417565 2022-06-20 mark .It Cm Page-down, Space, Ctrl+f, f
397 640cd7ff 2022-06-22 mark Scroll down N pages (default: 1).
398 61417565 2022-06-20 mark .It Cm Page-up, Ctrl+b, b
399 640cd7ff 2022-06-22 mark Scroll up N pages (default: 1).
400 33c3719a 2022-06-15 stsp .It Cm Ctrl+d, d
401 640cd7ff 2022-06-22 mark Scroll down N half pages (default: 1).
402 33c3719a 2022-06-15 stsp .It Cm Ctrl+u, u
403 640cd7ff 2022-06-22 mark Scroll up N half pages (default: 1).
404 0b3f028d 2023-01-09 mark .It Cm Home
405 912a3f79 2021-08-30 j Scroll to the top of the view.
407 912a3f79 2021-08-30 j Scroll to the bottom of the view.
409 0b3f028d 2023-01-09 mark Scroll to line N (default: 1).
413 0b3f028d 2023-01-09 mark but defaults to the last line in the diff.
415 c7d5c43c 2022-08-04 mark Navigate to the Nth previous file in the diff (default: 1).
417 c7d5c43c 2022-08-04 mark Navigate to the Nth next file in the diff (default: 1).
419 c7d5c43c 2022-08-04 mark Navigate to the Nth previous hunk in the diff (default: 1).
421 c7d5c43c 2022-08-04 mark Navigate to the Nth next hunk in the diff (default: 1).
423 640cd7ff 2022-06-22 mark Reduce diff context by N lines (default: 1).
425 640cd7ff 2022-06-22 mark Increase diff context by N lines (default: 1).
426 2b3e6702 2022-07-20 mark .It Cm <, Comma, K
429 01ca22b1 2020-12-07 stsp view was opened via the
431 c0f61fa4 2022-07-11 mark view, move to the Nth previous (younger) commit.
432 c0f61fa4 2022-07-11 mark If the diff was opened via the
434 c0f61fa4 2022-07-11 mark view, move to the Nth previous line and load the corresponding commit
435 c0f61fa4 2022-07-11 mark (default: 1).
436 2b3e6702 2022-07-20 mark .It Cm >, Full stop, J
439 01ca22b1 2020-12-07 stsp view was opened via the
441 c0f61fa4 2022-07-11 mark view, move to the Nth next (older) commit.
442 c0f61fa4 2022-07-11 mark If the diff was opened via the
444 c0f61fa4 2022-07-11 mark view, move to the Nth next line and load the corresponding commit (default: 1).
446 0e404f95 2020-11-14 stsp Prompt for a search pattern and start searching for matching lines.
447 66dc9065 2020-02-15 stsp The search pattern is an extended regular expression.
448 66dc9065 2020-02-15 stsp Regular expression syntax is documented in
449 66dc9065 2020-02-15 stsp .Xr re_format 7 .
451 640cd7ff 2022-06-22 mark Find the Nth next line which matches the current search pattern (default: 1).
453 640cd7ff 2022-06-22 mark Find the Nth previous line which matches the current search pattern
454 640cd7ff 2022-06-22 mark (default: 1).
456 3dbaef42 2020-11-24 stsp Toggle display of whitespace-only changes.
458 917d79a7 2022-07-01 stsp Change the diff algorithm.
459 41e8d27d 2022-07-03 stsp Supported diff algorithms are Myers (quick and dirty) and
460 41e8d27d 2022-07-03 stsp Patience (slow and tidy).
461 917d79a7 2022-07-01 stsp This is a global setting which also affects the
466 09b5bff8 2020-02-23 naddy The options for
467 09b5bff8 2020-02-23 naddy .Cm tog diff
468 09b5bff8 2020-02-23 naddy are as follows:
469 09b5bff8 2020-02-23 naddy .Bl -tag -width Ds
471 64453f7e 2020-11-21 stsp Treat file contents as ASCII text even if binary data is detected.
472 3dbaef42 2020-11-24 stsp .It Fl C Ar number
473 3dbaef42 2020-11-24 stsp Set the number of context lines shown in the diff.
474 3dbaef42 2020-11-24 stsp By default, 3 lines of context are shown.
475 09b5bff8 2020-02-23 naddy .It Fl r Ar repository-path
476 09b5bff8 2020-02-23 naddy Use the repository at the specified path.
477 09b5bff8 2020-02-23 naddy If not specified, assume the repository is located at or above the current
478 09b5bff8 2020-02-23 naddy working directory.
479 212b39d1 2020-02-24 naddy If this directory is a
481 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
483 3dbaef42 2020-11-24 stsp Ignore whitespace-only changes.
487 5fc4f020 2022-08-30 op .Op Fl c Ar commit
488 5fc4f020 2022-08-30 op .Op Fl r Ar repository-path
491 030916b5 2018-07-12 stsp Display line-by-line history of a file at the specified path.
493 030916b5 2018-07-12 stsp The key bindings for
494 030916b5 2018-07-12 stsp .Cm tog blame
495 640cd7ff 2022-06-22 mark are as follows (N denotes optional prefixed count modifier):
496 030916b5 2018-07-12 stsp .Bl -tag -width Ds
497 02ffd0d5 2021-10-17 stsp .It Cm Down-arrow, j, Ctrl-n
498 640cd7ff 2022-06-22 mark Move the selection cursor down N pages (default: 1).
499 02ffd0d5 2021-10-17 stsp .It Cm Up-arrow, k, Ctrl-p
500 640cd7ff 2022-06-22 mark Move the selection cursor up N pages (default: 1).
501 61417565 2022-06-20 mark .It Cm Page-down, Space, Ctrl+f, f
502 640cd7ff 2022-06-22 mark Move the selection cursor down N pages (default: 1).
503 61417565 2022-06-20 mark .It Cm Page-up, Ctrl+b, b
504 640cd7ff 2022-06-22 mark Move the selection cursor up N pages (default: 1).
505 33c3719a 2022-06-15 stsp .It Cm Ctrl+d, d
506 640cd7ff 2022-06-22 mark Move the selection cursor down N half pages (default: 1).
507 33c3719a 2022-06-15 stsp .It Cm Ctrl+u, u
508 640cd7ff 2022-06-22 mark Move the selection cursor up N half pages (default: 1).
509 0b3f028d 2023-01-09 mark .It Cm Home
510 4deef56f 2021-09-02 naddy Move the selection cursor to the first line of the file.
512 4deef56f 2021-09-02 naddy Move the selection cursor to the last line of the file.
514 0b3f028d 2023-01-09 mark Move the selection cursor to line N (default: 1).
518 0b3f028d 2023-01-09 mark but defaults to the last line in the file.
519 030916b5 2018-07-12 stsp .It Cm Enter
522 030916b5 2018-07-12 stsp view for the currently selected line's commit.
526 c0d30c23 2018-10-07 stsp view with the version of the file as found in the currently
527 c0d30c23 2018-10-07 stsp selected line's commit.
531 c0d30c23 2018-10-07 stsp view with the version of the file as found in the parent commit of the
532 c0d30c23 2018-10-07 stsp currently selected line's commit.
536 c0d30c23 2018-10-07 stsp view with the previously blamed commit.
540 05f04cdf 2022-07-20 mark view for the currently selected annotated line.
542 0e404f95 2020-11-14 stsp Prompt for a search pattern and start searching for matching lines.
543 6c4c42e0 2019-06-24 stsp The search pattern is an extended regular expression.
544 6c4c42e0 2019-06-24 stsp Regular expression syntax is documented in
545 6c4c42e0 2019-06-24 stsp .Xr re_format 7 .
547 640cd7ff 2022-06-22 mark Find the Nth next line which matches the current search pattern (default: 1).
549 640cd7ff 2022-06-22 mark Find the Nth previous line which matches the current search pattern
550 640cd7ff 2022-06-22 mark (default: 1).
552 917d79a7 2022-07-01 stsp Change the diff algorithm.
553 41e8d27d 2022-07-03 stsp Supported diff algorithms are Myers (quick and dirty) and
554 41e8d27d 2022-07-03 stsp Patience (slow and tidy).
555 917d79a7 2022-07-01 stsp This is a global setting which also affects the
560 030916b5 2018-07-12 stsp The options for
561 030916b5 2018-07-12 stsp .Cm tog blame
562 030916b5 2018-07-12 stsp are as follows:
563 030916b5 2018-07-12 stsp .Bl -tag -width Ds
564 030916b5 2018-07-12 stsp .It Fl c Ar commit
565 030916b5 2018-07-12 stsp Start traversing history at the specified
566 030916b5 2018-07-12 stsp .Ar commit .
567 c4df265e 2023-07-19 mark The expected argument is a commit ID SHA1 hash, or a reference name or keyword
568 c4df265e 2023-07-19 mark which will be resolved to a commit ID.
569 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
570 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
571 c4df265e 2023-07-19 mark The keywords
575 c4df265e 2023-07-19 mark resolve to the work tree's base commit and branch head, respectively.
576 c4df265e 2023-07-19 mark The former is only valid if invoked in a work tree, while the latter will
577 c4df265e 2023-07-19 mark resolve to the tip of the work tree's current branch if invoked in a
578 c4df265e 2023-07-19 mark work tree, otherwise it will resolve to the repository's HEAD reference.
579 c4df265e 2023-07-19 mark Keywords and references may be appended with
583 c4df265e 2023-07-19 mark modifiers and an optional integer N to denote the
584 c4df265e 2023-07-19 mark Nth descendant or antecedent by first parent traversal, respectively;
585 c4df265e 2023-07-19 mark for example,
586 c4df265e 2023-07-19 mark .Sy :head:-2
587 c4df265e 2023-07-19 mark denotes the work tree branch head's 2nd generation ancestor, and
588 c4df265e 2023-07-19 mark .Sy :base:+4
589 c4df265e 2023-07-19 mark denotes the 4th generation descendant of the work tree's base commit.
591 c4df265e 2023-07-19 mark .Sy foobar:+3
592 c4df265e 2023-07-19 mark will denote the 3rd generation descendant of the commit resolved by the
599 c4df265e 2023-07-19 mark modifier without a trailing integer has an implicit
603 c4df265e 2023-07-19 mark .Sy :base:+
604 c4df265e 2023-07-19 mark is equivalent to
605 c4df265e 2023-07-19 mark .Sy :base:+1
607 69069811 2018-08-02 stsp .It Fl r Ar repository-path
608 69069811 2018-08-02 stsp Use the repository at the specified path.
609 69069811 2018-08-02 stsp If not specified, assume the repository is located at or above the current
610 69069811 2018-08-02 stsp working directory.
611 212b39d1 2020-02-24 naddy If this directory is a
613 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
617 5fc4f020 2022-08-30 op .Op Fl c Ar commit
618 5fc4f020 2022-08-30 op .Op Fl r Ar repository-path
621 030916b5 2018-07-12 stsp Display the repository tree.
624 55cccc34 2020-02-20 stsp is specified, show tree entries at this path.
626 848d6979 2019-08-12 stsp Displayed tree entries may carry one of the following trailing annotations:
627 848d6979 2019-08-12 stsp .Bl -column YXZ description
628 848d6979 2019-08-12 stsp .It @ Ta entry is a symbolic link
629 848d6979 2019-08-12 stsp .It / Ta entry is a directory
630 848d6979 2019-08-12 stsp .It * Ta entry is an executable file
631 63c5ca5d 2019-08-24 stsp .It $ Ta entry is a Git submodule
634 0d6c6ee3 2020-05-20 stsp Symbolic link entries are also annotated with the target path of the link.
636 030916b5 2018-07-12 stsp The key bindings for
637 030916b5 2018-07-12 stsp .Cm tog tree
638 640cd7ff 2022-06-22 mark are as follows (N denotes optional prefixed count modifier):
639 030916b5 2018-07-12 stsp .Bl -tag -width Ds
640 02ffd0d5 2021-10-17 stsp .It Cm Down-arrow, j, Ctrl-n
641 640cd7ff 2022-06-22 mark Move the selection cursor down N lines (default: 1).
642 02ffd0d5 2021-10-17 stsp .It Cm Up-arrow, k, Ctrl-p
643 640cd7ff 2022-06-22 mark Move the selection cursor up N lines (default: 1).
644 48bb96f0 2022-06-20 naddy .It Cm Page-down, Space, Ctrl+f, f
645 640cd7ff 2022-06-22 mark Move the selection cursor down N pages (default: 1).
646 61417565 2022-06-20 mark .It Cm Page-up, Ctrl+b, b
647 640cd7ff 2022-06-22 mark Move the selection cursor up N pages (default: 1).
648 33c3719a 2022-06-15 stsp .It Cm Ctrl+d, d
649 640cd7ff 2022-06-22 mark Move the selection cursor down N half pages (default: 1).
650 33c3719a 2022-06-15 stsp .It Cm Ctrl+u, u
651 640cd7ff 2022-06-22 mark Move the selection cursor up N half pages (default: 1).
652 0b3f028d 2023-01-09 mark .It Cm Home, =
653 e4526bf5 2021-09-03 naddy Move the selection cursor to the first entry.
654 0b3f028d 2023-01-09 mark .It Cm End, *
655 e4526bf5 2021-09-03 naddy Move the selection cursor to the last entry.
657 0b3f028d 2023-01-09 mark Move the selection cursor to entry N (default: 1).
661 0b3f028d 2023-01-09 mark but defaults to the last entry.
662 030916b5 2018-07-12 stsp .It Cm Enter
663 030916b5 2018-07-12 stsp Enter the currently selected directory, or switch to the
665 030916b5 2018-07-12 stsp view for the currently selected file.
669 69efd4c4 2018-07-18 stsp view for the currently selected tree entry.
673 152c1c93 2020-11-29 stsp view listing all references in the repository.
674 152c1c93 2020-11-29 stsp This can then be used to open a new
676 152c1c93 2020-11-29 stsp view for arbitrary branches and tags.
677 7837eeac 2018-09-24 stsp .It Cm Backspace
678 640cd7ff 2022-06-22 mark Move back to the Nth parent directory (default: 1).
680 c0d30c23 2018-10-07 stsp Show object IDs for all objects displayed in the
684 4eec20aa 2019-06-22 stsp Prompt for a search pattern and start searching for matching tree entries.
685 4eec20aa 2019-06-22 stsp The search pattern is an extended regular expression which is matched
686 4eec20aa 2019-06-22 stsp against the tree entry's name.
687 4eec20aa 2019-06-22 stsp Regular expression syntax is documented in
688 4eec20aa 2019-06-22 stsp .Xr re_format 7 .
690 640cd7ff 2022-06-22 mark Find the Nth next tree entry which matches the current search pattern
691 640cd7ff 2022-06-22 mark (default: 1).
693 640cd7ff 2022-06-22 mark Find the Nth previous tree entry which matches the current search pattern
694 640cd7ff 2022-06-22 mark (default: 1).
697 030916b5 2018-07-12 stsp The options for
698 030916b5 2018-07-12 stsp .Cm tog tree
699 030916b5 2018-07-12 stsp are as follows:
700 030916b5 2018-07-12 stsp .Bl -tag -width Ds
701 030916b5 2018-07-12 stsp .It Fl c Ar commit
702 030916b5 2018-07-12 stsp Start traversing history at the specified
703 030916b5 2018-07-12 stsp .Ar commit .
704 c4df265e 2023-07-19 mark The expected argument is a commit ID SHA1 hash, or a reference name or keyword
705 c4df265e 2023-07-19 mark which will be resolved to a commit ID.
706 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
707 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
708 c4df265e 2023-07-19 mark The keywords
712 c4df265e 2023-07-19 mark resolve to the work tree's base commit and branch head, respectively.
713 c4df265e 2023-07-19 mark The former is only valid if invoked in a work tree, while the latter will
714 c4df265e 2023-07-19 mark resolve to the tip of the work tree's current branch if invoked in a
715 c4df265e 2023-07-19 mark work tree, otherwise it will resolve to the repository's HEAD reference.
716 c4df265e 2023-07-19 mark Keywords and references may be appended with
720 c4df265e 2023-07-19 mark modifiers and an optional integer N to denote the
721 c4df265e 2023-07-19 mark Nth descendant or antecedent by first parent traversal, respectively;
722 c4df265e 2023-07-19 mark for example,
723 c4df265e 2023-07-19 mark .Sy :head:-2
724 c4df265e 2023-07-19 mark denotes the work tree branch head's 2nd generation ancestor, and
725 c4df265e 2023-07-19 mark .Sy :base:+4
726 c4df265e 2023-07-19 mark denotes the 4th generation descendant of the work tree's base commit.
728 c4df265e 2023-07-19 mark .Sy foobar:+3
729 c4df265e 2023-07-19 mark will denote the 3rd generation descendant of the commit resolved by the
736 c4df265e 2023-07-19 mark modifier without a trailing integer has an implicit
740 c4df265e 2023-07-19 mark .Sy :base:+
741 c4df265e 2023-07-19 mark is equivalent to
742 c4df265e 2023-07-19 mark .Sy :base:+1
744 38cb327b 2020-11-24 stsp .It Fl r Ar repository-path
745 38cb327b 2020-11-24 stsp Use the repository at the specified path.
746 38cb327b 2020-11-24 stsp If not specified, assume the repository is located at or above the current
747 38cb327b 2020-11-24 stsp working directory.
748 38cb327b 2020-11-24 stsp If this directory is a
750 38cb327b 2020-11-24 stsp work tree, use the repository path associated with this work tree.
752 5fc4f020 2022-08-30 op .It Cm ref Op Fl r Ar repository-path
753 38cb327b 2020-11-24 stsp Display references in the repository.
755 38cb327b 2020-11-24 stsp The key bindings for
756 38cb327b 2020-11-24 stsp .Cm tog ref
757 640cd7ff 2022-06-22 mark are as follows (N denotes optional prefixed count modifier):
758 38cb327b 2020-11-24 stsp .Bl -tag -width Ds
759 02ffd0d5 2021-10-17 stsp .It Cm Down-arrow, j, Ctrl-n
760 640cd7ff 2022-06-22 mark Move the selection cursor down N lines (default: 1).
761 02ffd0d5 2021-10-17 stsp .It Cm Up-arrow, k, Ctrl-p
762 640cd7ff 2022-06-22 mark Move the selection cursor up N lines (default: 1).
763 48bb96f0 2022-06-20 naddy .It Cm Page-down, Space, Ctrl+f, f
764 640cd7ff 2022-06-22 mark Move the selection cursor down N pages (default: 1).
765 61417565 2022-06-20 mark .It Cm Page-up, Ctrl+b, b
766 640cd7ff 2022-06-22 mark Move the selection cursor up N pages (default: 1).
767 33c3719a 2022-06-15 stsp .It Cm Ctrl+d, d
768 640cd7ff 2022-06-22 mark Move the selection cursor down N half pages (default: 1).
769 33c3719a 2022-06-15 stsp .It Cm Ctrl+u, u
770 640cd7ff 2022-06-22 mark Move the selection cursor up N half pages (default: 1).
771 0b3f028d 2023-01-09 mark .It Cm Home, =
772 e4526bf5 2021-09-03 naddy Move the selection cursor to the first reference.
773 0b3f028d 2023-01-09 mark .It Cm End, *
774 e4526bf5 2021-09-03 naddy Move the selection cursor to the last reference.
776 0b3f028d 2023-01-09 mark Move the selection cursor to reference N (default: 1).
780 0b3f028d 2023-01-09 mark but defaults to the last reference.
781 38cb327b 2020-11-24 stsp .It Cm Enter
784 01ca22b1 2020-12-07 stsp view which begins traversing history at the commit resolved via the
785 38cb327b 2020-11-24 stsp currently selected reference.
789 c42c9805 2020-11-24 stsp view showing the tree resolved via the currently selected reference.
791 38cb327b 2020-11-24 stsp Show object IDs for all non-symbolic references displayed in the
795 b4996bee 2022-06-16 stsp Show last modified date of each displayed reference.
797 7f66531d 2021-11-16 stsp Toggle display order of references between sort by name and sort by timestamp.
799 38cb327b 2020-11-24 stsp Prompt for a search pattern and start searching for matching references.
800 38cb327b 2020-11-24 stsp The search pattern is an extended regular expression which is matched
801 38cb327b 2020-11-24 stsp against absolute reference names.
802 38cb327b 2020-11-24 stsp Regular expression syntax is documented in
803 38cb327b 2020-11-24 stsp .Xr re_format 7 .
805 640cd7ff 2022-06-22 mark Find the Nth next reference which matches the current search pattern
806 640cd7ff 2022-06-22 mark (default: 1).
808 640cd7ff 2022-06-22 mark Find the Nth previous reference which matches the current search pattern
809 640cd7ff 2022-06-22 mark (default: 1).
810 38cb327b 2020-11-24 stsp .It Cm Ctrl+l
811 38cb327b 2020-11-24 stsp Reload the list of references displayed by the
816 38cb327b 2020-11-24 stsp The options for
817 38cb327b 2020-11-24 stsp .Cm tog ref
818 38cb327b 2020-11-24 stsp are as follows:
819 38cb327b 2020-11-24 stsp .Bl -tag -width Ds
820 74283ab8 2020-02-07 stsp .It Fl r Ar repository-path
821 74283ab8 2020-02-07 stsp Use the repository at the specified path.
822 74283ab8 2020-02-07 stsp If not specified, assume the repository is located at or above the current
823 74283ab8 2020-02-07 stsp working directory.
824 74283ab8 2020-02-07 stsp If this directory is a
826 74283ab8 2020-02-07 stsp work tree, use the repository path associated with this work tree.
829 6d17833f 2019-11-08 stsp .Sh ENVIRONMENT
830 d2366e29 2022-07-07 mark .Bl -tag -width TOG_VIEW_SPLIT_MODE
831 6d17833f 2019-11-08 stsp .It Ev TOG_COLORS
833 6d17833f 2019-11-08 stsp shows colorized output if this variable is set to a non-empty value.
834 6d17833f 2019-11-08 stsp The default color scheme can be modified by setting the environment
835 6d17833f 2019-11-08 stsp variables documented below.
836 6d17833f 2019-11-08 stsp The colors available in color schemes are
837 6d17833f 2019-11-08 stsp .Dq black ,
839 6d17833f 2019-11-08 stsp .Dq green ,
840 6d17833f 2019-11-08 stsp .Dq yellow ,
842 93a300b2 2021-08-26 stsp .Dq magenta ,
845 1d7fe5cd 2019-11-08 stsp .Dq default
846 1d7fe5cd 2019-11-08 stsp which maps to the terminal's default foreground color.
847 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_AUTHOR
848 7713cc5e 2023-01-20 op The color used to mark up author information.
849 6d17833f 2019-11-08 stsp If not set, the default value
852 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_COMMIT
853 7713cc5e 2023-01-20 op The color used to mark up commit IDs.
854 6d17833f 2019-11-08 stsp If not set, the default value
857 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_DATE
858 7713cc5e 2023-01-20 op The color used to mark up date information.
859 7713cc5e 2023-01-20 op If not set, the default value
862 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_CHUNK_HEADER
863 6d17833f 2019-11-08 stsp The color used to mark up chunk header lines in diffs.
864 6d17833f 2019-11-08 stsp If not set, the default value
867 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_META
868 6d17833f 2019-11-08 stsp The color used to mark up meta data in diffs.
869 c0b01bdb 2019-11-08 stsp If not set, the default value
872 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_DIFF_MINUS
873 7713cc5e 2023-01-20 op The color used to mark up removed lines in diffs.
874 c0b01bdb 2019-11-08 stsp If not set, the default value
875 c0b01bdb 2019-11-08 stsp .Dq magenta
877 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_DIFF_PLUS
878 7713cc5e 2023-01-20 op The color used to mark up added lines in diffs.
879 c0b01bdb 2019-11-08 stsp If not set, the default value
882 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_REFS_BACKUP
883 7713cc5e 2023-01-20 op The color used to mark up references in the
884 7713cc5e 2023-01-20 op .Dq refs/got/backup/
886 11b20872 2019-11-08 stsp If not set, the default value
889 38cb327b 2020-11-24 stsp .It Ev TOG_COLOR_REFS_HEADS
890 38cb327b 2020-11-24 stsp The color used to mark up references in the
891 38cb327b 2020-11-24 stsp .Dq refs/heads/
893 38cb327b 2020-11-24 stsp If not set, the default value
896 38cb327b 2020-11-24 stsp .It Ev TOG_COLOR_REFS_REMOTES
897 38cb327b 2020-11-24 stsp The color used to mark up references in the
898 38cb327b 2020-11-24 stsp .Dq refs/remotes/
900 38cb327b 2020-11-24 stsp If not set, the default value
903 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_REFS_TAGS
904 cc488aa7 2022-01-23 stsp The color used to mark up references in the
905 7713cc5e 2023-01-20 op .Dq refs/tags/
907 cc488aa7 2022-01-23 stsp If not set, the default value
910 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_TREE_DIRECTORY
911 7713cc5e 2023-01-20 op The color used to mark up directory tree entries.
912 7713cc5e 2023-01-20 op If not set, the default value
915 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_TREE_EXECUTABLE
916 7713cc5e 2023-01-20 op The color used to mark up executable file tree entries.
917 7713cc5e 2023-01-20 op If not set, the default value
920 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_TREE_SUBMODULE
921 7713cc5e 2023-01-20 op The color used to mark up submodule tree entries.
922 7713cc5e 2023-01-20 op If not set, the default value
925 7713cc5e 2023-01-20 op .It Ev TOG_COLOR_TREE_SYMLINK
926 7713cc5e 2023-01-20 op The color used to mark up symbolic link tree entries.
927 7713cc5e 2023-01-20 op If not set, the default value
930 7713cc5e 2023-01-20 op .It Ev TOG_DIFF_ALGORITHM
931 7713cc5e 2023-01-20 op Determines the default diff algorithm used by
933 7713cc5e 2023-01-20 op Supported diff algorithms are Myers (quick and dirty) and
934 7713cc5e 2023-01-20 op Patience (slow and tidy).
935 7713cc5e 2023-01-20 op Valid values for
936 7713cc5e 2023-01-20 op .Ev TOG_DIFF_ALGORITHM
941 2e2450f5 2023-10-04 mark If unset, the Patience diff algorithm will be used by default.
942 7713cc5e 2023-01-20 op .It Ev TOG_VIEW_SPLIT_MODE
943 7713cc5e 2023-01-20 op Determines the default layout of split-screen views.
949 7713cc5e 2023-01-20 op will use horizontal split by default.
950 7713cc5e 2023-01-20 op Otherwise, vertical split will be used.
953 7713cc5e 2023-01-20 op key can be used to switch between vertical and horizontal split layout
956 030916b5 2018-07-12 stsp .Sh EXIT STATUS
957 030916b5 2018-07-12 stsp .Ex -std tog
958 030916b5 2018-07-12 stsp .Sh SEE ALSO
959 56b9a4ca 2019-06-21 stsp .Xr got 1 ,
960 56b9a4ca 2019-06-21 stsp .Xr git-repository 5 ,
961 56b9a4ca 2019-06-21 stsp .Xr re_format 7
962 030916b5 2018-07-12 stsp .Sh AUTHORS
963 8ca658b9 2022-07-05 stsp .An Christian Weisgerber Aq Mt naddy@openbsd.org
964 8ca658b9 2022-07-05 stsp .An Josh Rickmar Aq Mt jrick@zettaport.com
965 bc3056e3 2019-08-18 stsp .An Joshua Stein Aq Mt jcs@openbsd.org
966 8ca658b9 2022-07-05 stsp .An Mark Jamsek Aq Mt mark@jamsek.dev
967 8ca658b9 2022-07-05 stsp .An Martin Pieuchot Aq Mt mpi@openbsd.org
968 8ca658b9 2022-07-05 stsp .An Omar Polo Aq Mt op@openbsd.org
969 8ca658b9 2022-07-05 stsp .An Stefan Sperling Aq Mt stsp@openbsd.org
970 8ca658b9 2022-07-05 stsp .An Klemens Nanni Aq Mt kn@openbsd.org