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.
169 09b5bff8 2020-02-23 naddy .It Cm diff Oo Fl r Ar repository-path Oc Ar object1 object2
170 030916b5 2018-07-12 stsp Display the differences between two objects in the repository.
173 a54b6686 2019-06-28 stsp argument is an object ID SHA1 hash.
174 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
175 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
176 030916b5 2018-07-12 stsp Both objects must be of the same type (blobs, trees, or commits).
178 030916b5 2018-07-12 stsp The key bindings for
179 030916b5 2018-07-12 stsp .Cm tog diff
180 030916b5 2018-07-12 stsp are as follows:
181 030916b5 2018-07-12 stsp .Bl -tag -width Ds
182 a60a9dc4 2019-05-13 jcs .It Cm Down-arrow, j
183 030916b5 2018-07-12 stsp Scroll down.
184 eb029fd6 2019-05-13 stsp .It Cm Up-arrow, k
186 a60a9dc4 2019-05-13 jcs .It Cm Page-down, Space, Ctrl+f
187 a60a9dc4 2019-05-13 jcs Scroll down one page.
188 a60a9dc4 2019-05-13 jcs .It Cm Page-up, Ctrl+b
189 a60a9dc4 2019-05-13 jcs Scroll up one page.
191 48ae06ee 2018-10-18 stsp Reduce the amount of diff context lines.
193 48ae06ee 2018-10-18 stsp Increase the amount of diff context lines.
194 15a087fe 2019-02-21 stsp .It Cm <, Comma
195 15a087fe 2019-02-21 stsp If the diff view was opened via the log view, move to the previous (younger)
197 15a087fe 2019-02-21 stsp .It Cm >, Full stop
198 15a087fe 2019-02-21 stsp If the diff view was opened via the log view, move to the next (older) commit.
200 66dc9065 2020-02-15 stsp Prompt for a search pattern and start searching for matching line.
201 66dc9065 2020-02-15 stsp The search pattern is an extended regular expression.
202 66dc9065 2020-02-15 stsp Regular expression syntax is documented in
203 66dc9065 2020-02-15 stsp .Xr re_format 7 .
205 66dc9065 2020-02-15 stsp Find the next line which matches the current search pattern.
207 66dc9065 2020-02-15 stsp Find the previous line which matches the current search pattern.
210 09b5bff8 2020-02-23 naddy The options for
211 09b5bff8 2020-02-23 naddy .Cm tog diff
212 09b5bff8 2020-02-23 naddy are as follows:
213 09b5bff8 2020-02-23 naddy .Bl -tag -width Ds
214 09b5bff8 2020-02-23 naddy .It Fl r Ar repository-path
215 09b5bff8 2020-02-23 naddy Use the repository at the specified path.
216 09b5bff8 2020-02-23 naddy If not specified, assume the repository is located at or above the current
217 09b5bff8 2020-02-23 naddy working directory.
219 dfc23429 2019-08-11 stsp .It Cm blame Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Ar path
220 030916b5 2018-07-12 stsp Display line-by-line history of a file at the specified path.
222 030916b5 2018-07-12 stsp The key bindings for
223 030916b5 2018-07-12 stsp .Cm tog blame
224 030916b5 2018-07-12 stsp are as follows:
225 030916b5 2018-07-12 stsp .Bl -tag -width Ds
226 ea025d1d 2020-02-22 naddy .It Cm Down-arrow, j
227 030916b5 2018-07-12 stsp Move the selection cursor down.
228 ea025d1d 2020-02-22 naddy .It Cm Up-arrow, k
229 030916b5 2018-07-12 stsp Move the selection cursor up.
230 ea025d1d 2020-02-22 naddy .It Cm Page-down, Space, Ctrl+f
231 ea025d1d 2020-02-22 naddy Move the selection cursor down one page.
232 ea025d1d 2020-02-22 naddy .It Cm Page-up, Ctrl+b
233 ea025d1d 2020-02-22 naddy Move the selection cursor up one page.
234 030916b5 2018-07-12 stsp .It Cm Enter
237 030916b5 2018-07-12 stsp view for the currently selected line's commit.
241 c0d30c23 2018-10-07 stsp view with the version of the file as found in the currently
242 c0d30c23 2018-10-07 stsp selected line's commit.
246 c0d30c23 2018-10-07 stsp view with the version of the file as found in the parent commit of the
247 c0d30c23 2018-10-07 stsp currently selected line's commit.
251 c0d30c23 2018-10-07 stsp view with the previously blamed commit.
253 6c4c42e0 2019-06-24 stsp Prompt for a search pattern and start searching for matching line.
254 6c4c42e0 2019-06-24 stsp The search pattern is an extended regular expression.
255 6c4c42e0 2019-06-24 stsp Regular expression syntax is documented in
256 6c4c42e0 2019-06-24 stsp .Xr re_format 7 .
258 6c4c42e0 2019-06-24 stsp Find the next line which matches the current search pattern.
260 6c4c42e0 2019-06-24 stsp Find the previous line which matches the current search pattern.
263 030916b5 2018-07-12 stsp The options for
264 030916b5 2018-07-12 stsp .Cm tog blame
265 030916b5 2018-07-12 stsp are as follows:
266 030916b5 2018-07-12 stsp .Bl -tag -width Ds
267 030916b5 2018-07-12 stsp .It Fl c Ar commit
268 030916b5 2018-07-12 stsp Start traversing history at the specified
269 030916b5 2018-07-12 stsp .Ar commit .
270 a54b6686 2019-06-28 stsp The expected argument is the name of a branch or a commit ID SHA1 hash.
271 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
272 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
273 69069811 2018-08-02 stsp .It Fl r Ar repository-path
274 69069811 2018-08-02 stsp Use the repository at the specified path.
275 69069811 2018-08-02 stsp If not specified, assume the repository is located at or above the current
276 69069811 2018-08-02 stsp working directory.
278 55cccc34 2020-02-20 stsp .It Cm tree Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Op Ar path
279 030916b5 2018-07-12 stsp Display the repository tree.
282 55cccc34 2020-02-20 stsp is specified, show tree entries at this path.
284 848d6979 2019-08-12 stsp Displayed tree entries may carry one of the following trailing annotations:
285 848d6979 2019-08-12 stsp .Bl -column YXZ description
286 848d6979 2019-08-12 stsp .It @ Ta entry is a symbolic link
287 848d6979 2019-08-12 stsp .It / Ta entry is a directory
288 848d6979 2019-08-12 stsp .It * Ta entry is an executable file
289 63c5ca5d 2019-08-24 stsp .It $ Ta entry is a Git submodule
292 030916b5 2018-07-12 stsp The key bindings for
293 030916b5 2018-07-12 stsp .Cm tog tree
294 030916b5 2018-07-12 stsp are as follows:
295 030916b5 2018-07-12 stsp .Bl -tag -width Ds
296 ea025d1d 2020-02-22 naddy .It Cm Down-arrow, j
297 030916b5 2018-07-12 stsp Move the selection cursor down.
298 ea025d1d 2020-02-22 naddy .It Cm Up-arrow, k
299 030916b5 2018-07-12 stsp Move the selection cursor up.
300 ea025d1d 2020-02-22 naddy .It Cm Page-down, Ctrl+f
301 ea025d1d 2020-02-22 naddy Move the selection cursor down one page.
302 ea025d1d 2020-02-22 naddy .It Cm Page-up, Ctrl+b
303 ea025d1d 2020-02-22 naddy Move the selection cursor up one page.
304 030916b5 2018-07-12 stsp .It Cm Enter
305 030916b5 2018-07-12 stsp Enter the currently selected directory, or switch to the
307 030916b5 2018-07-12 stsp view for the currently selected file.
311 69efd4c4 2018-07-18 stsp view for the currently selected tree entry.
312 7837eeac 2018-09-24 stsp .It Cm Backspace
313 030916b5 2018-07-12 stsp Move back to the parent directory.
315 c0d30c23 2018-10-07 stsp Show object IDs for all objects displayed in the
319 4eec20aa 2019-06-22 stsp Prompt for a search pattern and start searching for matching tree entries.
320 4eec20aa 2019-06-22 stsp The search pattern is an extended regular expression which is matched
321 4eec20aa 2019-06-22 stsp against the tree entry's name.
322 4eec20aa 2019-06-22 stsp Regular expression syntax is documented in
323 4eec20aa 2019-06-22 stsp .Xr re_format 7 .
325 4eec20aa 2019-06-22 stsp Find the next tree entry which matches the current search pattern.
327 4eec20aa 2019-06-22 stsp Find the previous tree entry which matches the current search pattern.
330 030916b5 2018-07-12 stsp The options for
331 030916b5 2018-07-12 stsp .Cm tog tree
332 030916b5 2018-07-12 stsp are as follows:
333 030916b5 2018-07-12 stsp .Bl -tag -width Ds
334 030916b5 2018-07-12 stsp .It Fl c Ar commit
335 030916b5 2018-07-12 stsp Start traversing history at the specified
336 030916b5 2018-07-12 stsp .Ar commit .
337 a54b6686 2019-06-28 stsp The expected argument is the name of a branch or a commit ID SHA1 hash.
338 0db75f06 2019-07-07 stsp An abbreviated hash argument will be expanded to a full SHA1 hash
339 0db75f06 2019-07-07 stsp automatically, provided the abbreviation is unique.
340 74283ab8 2020-02-07 stsp .It Fl r Ar repository-path
341 74283ab8 2020-02-07 stsp Use the repository at the specified path.
342 74283ab8 2020-02-07 stsp If not specified, assume the repository is located at or above the current
343 74283ab8 2020-02-07 stsp working directory.
344 74283ab8 2020-02-07 stsp If this directory is a
346 74283ab8 2020-02-07 stsp work tree, use the repository path associated with this work tree.
349 6d17833f 2019-11-08 stsp .Sh ENVIRONMENT
350 6d17833f 2019-11-08 stsp .Bl -tag -width TOG_COLORS
351 6d17833f 2019-11-08 stsp .It Ev TOG_COLORS
353 6d17833f 2019-11-08 stsp shows colorized output if this variable is set to a non-empty value.
354 6d17833f 2019-11-08 stsp The default color scheme can be modified by setting the environment
355 6d17833f 2019-11-08 stsp variables documented below.
356 6d17833f 2019-11-08 stsp The colors available in color schemes are
357 6d17833f 2019-11-08 stsp .Dq black ,
359 6d17833f 2019-11-08 stsp .Dq green ,
360 6d17833f 2019-11-08 stsp .Dq yellow ,
362 6d17833f 2019-11-08 stsp .Dq megenta ,
365 1d7fe5cd 2019-11-08 stsp .Dq default
366 1d7fe5cd 2019-11-08 stsp which maps to the terminal's default foreground color.
367 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_MINUS
368 6d17833f 2019-11-08 stsp The color used to mark up removed lines in diffs.
369 6d17833f 2019-11-08 stsp If not set, the default value
370 6d17833f 2019-11-08 stsp .Dq magenta
372 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_PLUS
373 6d17833f 2019-11-08 stsp The color used to mark up added lines in diffs.
374 6d17833f 2019-11-08 stsp If not set, the default value
377 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_CHUNK_HEADER
378 6d17833f 2019-11-08 stsp The color used to mark up chunk header lines in diffs.
379 6d17833f 2019-11-08 stsp If not set, the default value
382 6d17833f 2019-11-08 stsp .It Ev TOG_COLOR_DIFF_META
383 6d17833f 2019-11-08 stsp The color used to mark up meta data in diffs.
384 c0b01bdb 2019-11-08 stsp If not set, the default value
387 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_SUBMODULE
388 c0b01bdb 2019-11-08 stsp The color used to mark up sobmodules tree entries.
389 c0b01bdb 2019-11-08 stsp If not set, the default value
390 c0b01bdb 2019-11-08 stsp .Dq magenta
392 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_SYMLINK
393 c0b01bdb 2019-11-08 stsp The color used to mark up symbolic link tree entries.
394 c0b01bdb 2019-11-08 stsp If not set, the default value
395 91b8c405 2020-01-25 stsp .Dq magenta
397 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_DIRECTORY
398 c0b01bdb 2019-11-08 stsp The color used to mark up directory tree entries.
399 6d17833f 2019-11-08 stsp If not set, the default value
402 c0b01bdb 2019-11-08 stsp .It Ev TOG_COLOR_TREE_EXECUTABLE
403 c0b01bdb 2019-11-08 stsp The color used to mark up executable file tree entries.
404 c0b01bdb 2019-11-08 stsp If not set, the default value
407 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_COMMIT
408 11b20872 2019-11-08 stsp The color used to mark up commit IDs.
409 11b20872 2019-11-08 stsp If not set, the default value
412 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_AUTHOR
413 11b20872 2019-11-08 stsp The color used to mark up author information.
414 11b20872 2019-11-08 stsp If not set, the default value
417 11b20872 2019-11-08 stsp .It Ev TOG_COLOR_DATE
418 11b20872 2019-11-08 stsp The color used to mark up date information.
419 11b20872 2019-11-08 stsp If not set, the default value
423 030916b5 2018-07-12 stsp .Sh EXIT STATUS
424 030916b5 2018-07-12 stsp .Ex -std tog
425 030916b5 2018-07-12 stsp .Sh SEE ALSO
426 56b9a4ca 2019-06-21 stsp .Xr got 1 ,
427 56b9a4ca 2019-06-21 stsp .Xr git-repository 5 ,
428 56b9a4ca 2019-06-21 stsp .Xr re_format 7
429 030916b5 2018-07-12 stsp .Sh AUTHORS
430 030916b5 2018-07-12 stsp .An Stefan Sperling Aq Mt stsp@openbsd.org
431 bc3056e3 2019-08-18 stsp .An Joshua Stein Aq Mt jcs@openbsd.org