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 ...
27 030916b5 2018-07-12 stsp .Sh DESCRIPTION
29 aee2a8bd 2019-08-05 stsp is an interactive read-only browser for Git repositories.
30 030916b5 2018-07-12 stsp This repository format is described in
31 5e5560e1 2018-08-01 stsp .Xr git-repository 5 .
34 0cf4efb1 2018-09-29 stsp supports several types of views which display repository data:
35 87aa0e98 2018-08-18 stsp .Bl -tag -width Ds
36 9419758a 2019-03-27 stsp .It Log view
37 87aa0e98 2018-08-18 stsp Displays commits in the repository's history.
38 87aa0e98 2018-08-18 stsp This view is displayed initially if no
40 87aa0e98 2018-08-18 stsp is specified.
41 9419758a 2019-03-27 stsp .It Diff view
42 87aa0e98 2018-08-18 stsp Displays changes made in a particular commit.
43 9419758a 2019-03-27 stsp .It Blame view
44 87aa0e98 2018-08-18 stsp Displays the line-by-line history of a file.
45 9419758a 2019-03-27 stsp .It Tree view
46 87aa0e98 2018-08-18 stsp Displays the tree corresponding to a particular commit.
50 87aa0e98 2018-08-18 stsp provides global and command-specific key bindings and options.
51 87aa0e98 2018-08-18 stsp The global key bindings are:
52 87aa0e98 2018-08-18 stsp .Bl -tag -width Ds
57 87aa0e98 2018-08-18 stsp Quit the view which is in focus.
59 c0d30c23 2018-10-07 stsp Switch focus between views.
61 c0d30c23 2018-10-07 stsp Toggle fullscreen mode for a split-screen view.
63 e9b3576f 2019-03-27 stsp will automatically use split-screen views if the size of the terminal
64 e9b3576f 2019-03-27 stsp window is sufficiently large.
67 87aa0e98 2018-08-18 stsp Global options must precede the command name, and are as follows:
68 030916b5 2018-07-12 stsp .Bl -tag -width tenletters
70 030916b5 2018-07-12 stsp Display usage information.
71 83cd27f8 2020-01-13 stsp .It Fl V, -version
72 53ccebc2 2019-07-30 stsp Display program version and exit immediately.
75 030916b5 2018-07-12 stsp The commands for
77 030916b5 2018-07-12 stsp are as follows:
78 030916b5 2018-07-12 stsp .Bl -tag -width blame
79 b672a97a 2020-01-27 stsp .It Cm log Oo Fl b Oc Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Op Ar path
80 030916b5 2018-07-12 stsp Display history of a repository.
83 ecb28ae0 2018-07-16 stsp is specified, show only commits which modified this path.
84 dc990cbf 2020-02-22 stsp If invoked in a work tree, the
86 dc990cbf 2020-02-22 stsp is interpreted relative to the current working directory,
87 dc990cbf 2020-02-22 stsp and the work tree's path prefix is implicitly prepended.
88 dc990cbf 2020-02-22 stsp Otherwise, the path is interpreted relative to the repository root.
90 030916b5 2018-07-12 stsp This command is also executed if no explicit command is specified.
92 030916b5 2018-07-12 stsp The key bindings for
94 030916b5 2018-07-12 stsp are as follows:
95 030916b5 2018-07-12 stsp .Bl -tag -width Ds
96 eb029fd6 2019-05-13 stsp .It Cm Down-arrow, j, >, Full stop
97 030916b5 2018-07-12 stsp Move the selection cursor down.
98 eb029fd6 2019-05-13 stsp .It Cm Up-arrow, k, <, Comma
99 030916b5 2018-07-12 stsp Move the selection cursor up.
100 9be75582 2019-06-26 stsp .It Cm Page-down, Ctrl+f
101 a60a9dc4 2019-05-13 jcs Move the selection cursor down one page.
102 9be75582 2019-06-26 stsp .It Cm Page-up, Ctrl+b
103 a60a9dc4 2019-05-13 jcs Move the selection cursor up one page.
104 e350feed 2019-05-12 stsp .It Cm Enter, Space
107 030916b5 2018-07-12 stsp view showing file changes made in the currently selected commit.
111 030916b5 2018-07-12 stsp view showing the tree for the currently selected commit.
112 5036bf37 2018-09-24 stsp .It Cm Backspace
113 678cbce5 2019-07-28 stsp Show log entries for the parent directory of the currently selected path,
114 678cbce5 2019-07-28 stsp unless an active search is in progress in which case
115 678cbce5 2019-07-28 stsp .Cm Backspace
116 678cbce5 2019-07-28 stsp aborts the search.
118 60493ae3 2019-06-20 stsp Prompt for a search pattern and start searching for matching commits.
119 60493ae3 2019-06-20 stsp The search pattern is an extended regular expression which is matched
120 df0b3d8a 2019-06-28 stsp against a commit's author name, committer name, log message, and
121 df0b3d8a 2019-06-28 stsp commit ID SHA1 hash.
122 e6c76b79 2019-06-21 stsp Regular expression syntax is documented in
123 e6c76b79 2019-06-21 stsp .Xr re_format 7 .
125 60493ae3 2019-06-20 stsp Find the next commit which matches the current search pattern.
126 678cbce5 2019-07-28 stsp Searching continues until either a match is found or the
127 678cbce5 2019-07-28 stsp .Cm Backspace
128 678cbce5 2019-07-28 stsp key is pressed.
130 b1bf1435 2019-06-21 stsp Find the previous commit which matches the current search pattern.
131 678cbce5 2019-07-28 stsp Searching continues until either a match is found or the
132 678cbce5 2019-07-28 stsp .Cm Backspace
133 678cbce5 2019-07-28 stsp key is pressed.
134 bf0668dd 2019-06-26 stsp .It Cm Ctrl+l
135 d01904d4 2019-06-25 stsp Reload the log view with new commits found in the repository.
137 b672a97a 2020-01-27 stsp Reload the log view and toggle display of merged commits.
140 b672a97a 2020-01-27 stsp option determines whether merged commits are displayed initially.
143 030916b5 2018-07-12 stsp The options for
144 030916b5 2018-07-12 stsp .Cm tog log
145 030916b5 2018-07-12 stsp are as follows:
146 030916b5 2018-07-12 stsp .Bl -tag -width Ds
148 1137e0ae 2020-01-27 stsp Display individual commits which were merged into the current branch
149 1137e0ae 2020-01-27 stsp from other branches.
150 b672a97a 2020-01-27 stsp By default,
151 b672a97a 2020-01-27 stsp .Cm tog log
152 b672a97a 2020-01-27 stsp shows the linear history of the current branch only.
155 b672a97a 2020-01-27 stsp key binding can be used to toggle display of merged commits at run-time.
156 030916b5 2018-07-12 stsp .It Fl c Ar commit
157 030916b5 2018-07-12 stsp Start traversing history at the specified
158 030916b5 2018-07-12 stsp .Ar commit .
159 a54b6686 2019-06-28 stsp The expected argument is the name of a branch or a commit ID SHA1 hash.
160 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
161 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
162 19e70ad6 2019-05-14 stsp If this option is not specified, default to the work tree's current branch
163 19e70ad6 2019-05-14 stsp if invoked in a work tree, or to the repository's HEAD reference.
164 ecb28ae0 2018-07-16 stsp .It Fl r Ar repository-path
165 ecb28ae0 2018-07-16 stsp Use the repository at the specified path.
166 ecb28ae0 2018-07-16 stsp If not specified, assume the repository is located at or above the current
167 ecb28ae0 2018-07-16 stsp working directory.
168 212b39d1 2020-02-24 naddy If this directory is a
170 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
172 09b5bff8 2020-02-23 naddy .It Cm diff Oo Fl r Ar repository-path Oc Ar object1 object2
173 030916b5 2018-07-12 stsp Display the differences between two objects in the repository.
176 a54b6686 2019-06-28 stsp argument is an object ID SHA1 hash.
177 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
178 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
179 030916b5 2018-07-12 stsp Both objects must be of the same type (blobs, trees, or commits).
181 030916b5 2018-07-12 stsp The key bindings for
182 030916b5 2018-07-12 stsp .Cm tog diff
183 030916b5 2018-07-12 stsp are as follows:
184 030916b5 2018-07-12 stsp .Bl -tag -width Ds
185 a60a9dc4 2019-05-13 jcs .It Cm Down-arrow, j
186 030916b5 2018-07-12 stsp Scroll down.
187 eb029fd6 2019-05-13 stsp .It Cm Up-arrow, k
189 a60a9dc4 2019-05-13 jcs .It Cm Page-down, Space, Ctrl+f
190 a60a9dc4 2019-05-13 jcs Scroll down one page.
191 a60a9dc4 2019-05-13 jcs .It Cm Page-up, Ctrl+b
192 a60a9dc4 2019-05-13 jcs Scroll up one page.
194 48ae06ee 2018-10-18 stsp Reduce the amount of diff context lines.
196 48ae06ee 2018-10-18 stsp Increase the amount of diff context lines.
197 15a087fe 2019-02-21 stsp .It Cm <, Comma
198 15a087fe 2019-02-21 stsp If the diff view was opened via the log view, move to the previous (younger)
200 15a087fe 2019-02-21 stsp .It Cm >, Full stop
201 15a087fe 2019-02-21 stsp If the diff view was opened via the log view, move to the next (older) commit.
203 66dc9065 2020-02-15 stsp Prompt for a search pattern and start searching for matching line.
204 66dc9065 2020-02-15 stsp The search pattern is an extended regular expression.
205 66dc9065 2020-02-15 stsp Regular expression syntax is documented in
206 66dc9065 2020-02-15 stsp .Xr re_format 7 .
208 66dc9065 2020-02-15 stsp Find the next line which matches the current search pattern.
210 66dc9065 2020-02-15 stsp Find the previous line which matches the current search pattern.
213 09b5bff8 2020-02-23 naddy The options for
214 09b5bff8 2020-02-23 naddy .Cm tog diff
215 09b5bff8 2020-02-23 naddy are as follows:
216 09b5bff8 2020-02-23 naddy .Bl -tag -width Ds
217 09b5bff8 2020-02-23 naddy .It Fl r Ar repository-path
218 09b5bff8 2020-02-23 naddy Use the repository at the specified path.
219 09b5bff8 2020-02-23 naddy If not specified, assume the repository is located at or above the current
220 09b5bff8 2020-02-23 naddy working directory.
221 212b39d1 2020-02-24 naddy If this directory is a
223 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
225 dfc23429 2019-08-11 stsp .It Cm blame Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Ar path
226 030916b5 2018-07-12 stsp Display line-by-line history of a file at the specified path.
228 030916b5 2018-07-12 stsp The key bindings for
229 030916b5 2018-07-12 stsp .Cm tog blame
230 030916b5 2018-07-12 stsp are as follows:
231 030916b5 2018-07-12 stsp .Bl -tag -width Ds
232 ea025d1d 2020-02-22 naddy .It Cm Down-arrow, j
233 030916b5 2018-07-12 stsp Move the selection cursor down.
234 ea025d1d 2020-02-22 naddy .It Cm Up-arrow, k
235 030916b5 2018-07-12 stsp Move the selection cursor up.
236 ea025d1d 2020-02-22 naddy .It Cm Page-down, Space, Ctrl+f
237 ea025d1d 2020-02-22 naddy Move the selection cursor down one page.
238 ea025d1d 2020-02-22 naddy .It Cm Page-up, Ctrl+b
239 ea025d1d 2020-02-22 naddy Move the selection cursor up one page.
240 030916b5 2018-07-12 stsp .It Cm Enter
243 030916b5 2018-07-12 stsp view for the currently selected line's commit.
247 c0d30c23 2018-10-07 stsp view with the version of the file as found in the currently
248 c0d30c23 2018-10-07 stsp selected line's commit.
252 c0d30c23 2018-10-07 stsp view with the version of the file as found in the parent commit of the
253 c0d30c23 2018-10-07 stsp currently selected line's commit.
257 c0d30c23 2018-10-07 stsp view with the previously blamed commit.
259 6c4c42e0 2019-06-24 stsp Prompt for a search pattern and start searching for matching line.
260 6c4c42e0 2019-06-24 stsp The search pattern is an extended regular expression.
261 6c4c42e0 2019-06-24 stsp Regular expression syntax is documented in
262 6c4c42e0 2019-06-24 stsp .Xr re_format 7 .
264 6c4c42e0 2019-06-24 stsp Find the next line which matches the current search pattern.
266 6c4c42e0 2019-06-24 stsp Find the previous line which matches the current search pattern.
269 030916b5 2018-07-12 stsp The options for
270 030916b5 2018-07-12 stsp .Cm tog blame
271 030916b5 2018-07-12 stsp are as follows:
272 030916b5 2018-07-12 stsp .Bl -tag -width Ds
273 030916b5 2018-07-12 stsp .It Fl c Ar commit
274 030916b5 2018-07-12 stsp Start traversing history at the specified
275 030916b5 2018-07-12 stsp .Ar commit .
276 a54b6686 2019-06-28 stsp The expected argument is the name of a branch or a commit ID SHA1 hash.
277 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
278 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
279 69069811 2018-08-02 stsp .It Fl r Ar repository-path
280 69069811 2018-08-02 stsp Use the repository at the specified path.
281 69069811 2018-08-02 stsp If not specified, assume the repository is located at or above the current
282 69069811 2018-08-02 stsp working directory.
283 212b39d1 2020-02-24 naddy If this directory is a
285 212b39d1 2020-02-24 naddy work tree, use the repository path associated with this work tree.
287 55cccc34 2020-02-20 stsp .It Cm tree Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Op Ar path
288 030916b5 2018-07-12 stsp Display the repository tree.
291 55cccc34 2020-02-20 stsp is specified, show tree entries at this path.
293 848d6979 2019-08-12 stsp Displayed tree entries may carry one of the following trailing annotations:
294 848d6979 2019-08-12 stsp .Bl -column YXZ description
295 848d6979 2019-08-12 stsp .It @ Ta entry is a symbolic link
296 848d6979 2019-08-12 stsp .It / Ta entry is a directory
297 848d6979 2019-08-12 stsp .It * Ta entry is an executable file
298 63c5ca5d 2019-08-24 stsp .It $ Ta entry is a Git submodule
301 030916b5 2018-07-12 stsp The key bindings for
302 030916b5 2018-07-12 stsp .Cm tog tree
303 030916b5 2018-07-12 stsp are as follows:
304 030916b5 2018-07-12 stsp .Bl -tag -width Ds
305 ea025d1d 2020-02-22 naddy .It Cm Down-arrow, j
306 030916b5 2018-07-12 stsp Move the selection cursor down.
307 ea025d1d 2020-02-22 naddy .It Cm Up-arrow, k
308 030916b5 2018-07-12 stsp Move the selection cursor up.
309 ea025d1d 2020-02-22 naddy .It Cm Page-down, Ctrl+f
310 ea025d1d 2020-02-22 naddy Move the selection cursor down one page.
311 ea025d1d 2020-02-22 naddy .It Cm Page-up, Ctrl+b
312 ea025d1d 2020-02-22 naddy Move the selection cursor up one page.
313 030916b5 2018-07-12 stsp .It Cm Enter
314 030916b5 2018-07-12 stsp Enter the currently selected directory, or switch to the
316 030916b5 2018-07-12 stsp view for the currently selected file.
320 69efd4c4 2018-07-18 stsp view for the currently selected tree entry.
321 7837eeac 2018-09-24 stsp .It Cm Backspace
322 030916b5 2018-07-12 stsp Move back to the parent directory.
324 c0d30c23 2018-10-07 stsp Show object IDs for all objects displayed in the
328 4eec20aa 2019-06-22 stsp Prompt for a search pattern and start searching for matching tree entries.
329 4eec20aa 2019-06-22 stsp The search pattern is an extended regular expression which is matched
330 4eec20aa 2019-06-22 stsp against the tree entry's name.
331 4eec20aa 2019-06-22 stsp Regular expression syntax is documented in
332 4eec20aa 2019-06-22 stsp .Xr re_format 7 .
334 4eec20aa 2019-06-22 stsp Find the next tree entry which matches the current search pattern.
336 4eec20aa 2019-06-22 stsp Find the previous tree entry which matches the current search pattern.
339 030916b5 2018-07-12 stsp The options for
340 030916b5 2018-07-12 stsp .Cm tog tree
341 030916b5 2018-07-12 stsp are as follows:
342 030916b5 2018-07-12 stsp .Bl -tag -width Ds
343 030916b5 2018-07-12 stsp .It Fl c Ar commit
344 030916b5 2018-07-12 stsp Start traversing history at the specified
345 030916b5 2018-07-12 stsp .Ar commit .
346 a54b6686 2019-06-28 stsp The expected argument is the name of a branch or a commit ID SHA1 hash.
347 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
348 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
349 74283ab8 2020-02-07 stsp .It Fl r Ar repository-path
350 74283ab8 2020-02-07 stsp Use the repository at the specified path.
351 74283ab8 2020-02-07 stsp If not specified, assume the repository is located at or above the current
352 74283ab8 2020-02-07 stsp working directory.
353 74283ab8 2020-02-07 stsp If this directory is a
355 74283ab8 2020-02-07 stsp work tree, use the repository path associated with this work tree.
358 6d17833f 2019-11-08 stsp .Sh ENVIRONMENT
359 6d17833f 2019-11-08 stsp .Bl -tag -width TOG_COLORS
360 6d17833f 2019-11-08 stsp .It Ev TOG_COLORS
362 6d17833f 2019-11-08 stsp shows colorized output if this variable is set to a non-empty value.
363 6d17833f 2019-11-08 stsp The default color scheme can be modified by setting the environment
364 6d17833f 2019-11-08 stsp variables documented below.
365 6d17833f 2019-11-08 stsp The colors available in color schemes are
366 6d17833f 2019-11-08 stsp .Dq black ,
368 6d17833f 2019-11-08 stsp .Dq green ,
369 6d17833f 2019-11-08 stsp .Dq yellow ,
371 6d17833f 2019-11-08 stsp .Dq megenta ,
374 1d7fe5cd 2019-11-08 stsp .Dq default
375 1d7fe5cd 2019-11-08 stsp which maps to the terminal's default foreground color.
376 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_MINUS
377 6d17833f 2019-11-08 stsp The color used to mark up removed lines in diffs.
378 6d17833f 2019-11-08 stsp If not set, the default value
379 6d17833f 2019-11-08 stsp .Dq magenta
381 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_PLUS
382 6d17833f 2019-11-08 stsp The color used to mark up added lines in diffs.
383 6d17833f 2019-11-08 stsp If not set, the default value
386 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_CHUNK_HEADER
387 6d17833f 2019-11-08 stsp The color used to mark up chunk header lines in diffs.
388 6d17833f 2019-11-08 stsp If not set, the default value
391 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_META
392 6d17833f 2019-11-08 stsp The color used to mark up meta data in diffs.
393 c0b01bdb 2019-11-08 stsp If not set, the default value
396 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_SUBMODULE
397 c0b01bdb 2019-11-08 stsp The color used to mark up sobmodules tree entries.
398 c0b01bdb 2019-11-08 stsp If not set, the default value
399 c0b01bdb 2019-11-08 stsp .Dq magenta
401 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_SYMLINK
402 c0b01bdb 2019-11-08 stsp The color used to mark up symbolic link tree entries.
403 c0b01bdb 2019-11-08 stsp If not set, the default value
404 91b8c405 2020-01-25 stsp .Dq magenta
406 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_DIRECTORY
407 c0b01bdb 2019-11-08 stsp The color used to mark up directory tree entries.
408 6d17833f 2019-11-08 stsp If not set, the default value
411 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_EXECUTABLE
412 c0b01bdb 2019-11-08 stsp The color used to mark up executable file tree entries.
413 c0b01bdb 2019-11-08 stsp If not set, the default value
416 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_COMMIT
417 11b20872 2019-11-08 stsp The color used to mark up commit IDs.
418 11b20872 2019-11-08 stsp If not set, the default value
421 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_AUTHOR
422 11b20872 2019-11-08 stsp The color used to mark up author information.
423 11b20872 2019-11-08 stsp If not set, the default value
426 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_DATE
427 11b20872 2019-11-08 stsp The color used to mark up date information.
428 11b20872 2019-11-08 stsp If not set, the default value
432 030916b5 2018-07-12 stsp .Sh EXIT STATUS
433 030916b5 2018-07-12 stsp .Ex -std tog
434 030916b5 2018-07-12 stsp .Sh SEE ALSO
435 56b9a4ca 2019-06-21 stsp .Xr got 1 ,
436 56b9a4ca 2019-06-21 stsp .Xr git-repository 5 ,
437 56b9a4ca 2019-06-21 stsp .Xr re_format 7
438 030916b5 2018-07-12 stsp .Sh AUTHORS
439 030916b5 2018-07-12 stsp .An Stefan Sperling Aq Mt stsp@openbsd.org
440 bc3056e3 2019-08-18 stsp .An Joshua Stein Aq Mt jcs@openbsd.org