Provided by: got_0.86-1_amd64 bug

NAME

     tog — Git repository browser

SYNOPSIS

     tog [-hV] command [arg ...]

     tog path

DESCRIPTION

     tog is an interactive read-only browser for Git repositories.  This repository format is
     described in git-repository(5).

     tog supports several types of views which display repository data:

     Log view
             Displays commits in the repository's history.  This view is displayed initially if
             no command is specified, or if just a path is specified.

     Diff view
             Displays changes made in a particular commit.

     Blame view
             Displays the line-by-line history of a file.

     Tree view
             Displays the tree corresponding to a particular commit.

     Ref view
             Displays references in the repository.

     tog provides global and command-specific key bindings and options.  Some command-specific
     key bindings may be prefixed with an integer, which is denoted by N in the descriptions
     below, and is used as a modifier to the operation as indicated.  tog will echo digits to the
     screen when count modifiers are entered, and complete the sequence upon input of the first
     non-numeric character.  Count modifiers can be aborted by entering an unmapped key.  Once a
     compound command is executed, the operation can be cancelled with C-g or Backspace.

     Global options must precede the command name, and are as follows:

     -h          Display usage information.

     -V, --version
                 Display program version and exit immediately.

     The global key bindings are:

     H, F1   Display run-time help.  Key bindings for the focussed view will be displayed.
             Pressing this again inside the help view will toggle the display of key bindings for
             all tog views.

     Q       Quit tog.

     q       Quit the view which is in focus.

     Tab     Switch focus between views.

     F       Toggle fullscreen mode for a split-screen view.  tog will automatically use vertical
             split-screen views if the size of the terminal window is sufficiently large.

     S       Switch the current split-screen layout, and render all active views in this new
             layout.  The split-screen layout can be either vertical or horizontal.  If the
             terminal is not wide enough when switching to a vertical split, views will render in
             fullscreen.

     -       When in a split-screen view, decrease the size of the focussed split N increments
             (default: 1).

     +       When in a split-screen view, increase the size of the focussed split N increments
             (default: 1).

     G       Go to line N in the view (default: last line).

     g       Go to line N in the view (default: first line).

     Right-arrow, l
             Scroll view to the right N increments (default: 1).
             Output moves left on the screen.

     Left-arrow, h
             Scroll view to the left N increments (default: 1).
             Output moves right on the screen.

     $       Scroll view to the rightmost position.

     0       Scroll view left to the start of the line.

     The commands for tog are as follows:

     log [-b] [-c commit] [-r repository-path] [path]
            Display history of a repository.  If a path is specified, show only commits which
            modified this path.  If invoked in a work tree, the path is interpreted relative to
            the current working directory, and the work tree's path prefix is implicitly
            prepended.  Otherwise, the path is interpreted relative to the repository root.

            This command is also executed if no explicit command is specified.

            The key bindings for tog log are as follows (N denotes optional prefixed count
            modifier):

            Down-arrow, j, >, Full stop, Ctrl-n
                    Move the selection cursor down N lines (default: 1).

            Up-arrow, k, <, Comma, Ctrl-p
                    Move the selection cursor up N lines (default: 1).

            Page-down, Space, Ctrl+f, f
                    Move the selection cursor down N pages (default: 1).

            Page-up, Ctrl+b, b
                    Move the selection cursor up N pages (default: 1).

            Ctrl+d, d
                    Move the selection cursor down N half pages (default: 1).

            Ctrl+u, u
                    Move the selection cursor up N half pages (default: 1).

            Home, =
                    Move the cursor to the newest commit.

            End, *  Move the cursor to the oldest commit.  This will traverse all commits on the
                    current branch which may take a long time depending on the number of commits
                    in branch history.  If needed, this operation can be cancelled with C-g or
                    Backspace.

            g       Move the cursor to commit N (default: 1).

            G       Like g but defaults to the oldest commit.

            Enter   Open a diff view showing file changes made in the currently selected commit.

            T       Open a tree view showing the tree for the currently selected commit.

            Backspace
                    Show log entries for the parent directory of the currently selected path.
                    However when an active search is in progress or when additional commits are
                    loaded, Backspace aborts the running operation.

            /       Prompt for a search pattern and start searching for matching commits.  The
                    search pattern is an extended regular expression which is matched against a
                    commit's author name, committer name, log message, and commit ID SHA1 hash.
                    Regular expression syntax is documented in re_format(7).

            &       Prompt for a pattern and limit the log view's list of commits to those which
                    match the pattern.  If no pattern is specified, i.e. the & prompt is
                    immediately closed with the Enter key, then the pattern is cleared.  Until
                    the pattern is cleared, the limited list of commits replaces the full list of
                    commits for all operations supported by the log view.  For example, a search
                    started with / will search the limited list of commits, rather than searching
                    all commits.  The pattern is an extended regular expression which is matched
                    against a commit's author name, committer name, log message, and commit ID
                    SHA1 hash.  Regular expression syntax is documented in re_format(7).

            n       Find the Nth next commit which matches the current search pattern (default:
                    1).
                    Searching continues until either a match is found or C-g or the Backspace key
                    is pressed.

            N       Find the Nth previous commit which matches the current search pattern
                    (default: 1).
                    Searching continues until either a match is found or C-g or the Backspace key
                    is pressed.

            Ctrl+l  Reload the log view with new commits found in the repository.

            B       Reload the log view and toggle display of merged commits.  The -b option
                    determines whether merged commits are displayed initially.

            R       Open a ref view listing all references in the repository.  This can then be
                    used to open a new log view for arbitrary branches and tags.

            @       Toggle between showing the committer name and the author name.

            The options for tog log are as follows:

            -b      Display individual commits which were merged into the current branch from
                    other branches.  By default, tog log shows the linear history of the current
                    branch only.  The B key binding can be used to toggle display of merged
                    commits at run-time.

            -c commit
                    Start traversing history at the specified commit.  The expected argument is
                    the name of a branch or a commit ID SHA1 hash.  An abbreviated hash argument
                    will be expanded to a full SHA1 hash automatically, provided the abbreviation
                    is unique.  If this option is not specified, default to the work tree's
                    current branch if invoked in a work tree, or to the repository's HEAD
                    reference.

            -r repository-path
                    Use the repository at the specified path.  If not specified, assume the
                    repository is located at or above the current working directory.  If this
                    directory is a got(1) work tree, use the repository path associated with this
                    work tree.

     diff [-aw] [-C number] [-r repository-path] object1 object2
            Display the differences between two objects in the repository.  Treat each of the two
            arguments as a reference, a tag name, or an object ID SHA1 hash, and display
            differences between the corresponding objects.  Both objects must be of the same type
            (blobs, trees, or commits).  An abbreviated hash argument will be expanded to a full
            SHA1 hash automatically, provided the abbreviation is unique.

            The key bindings for tog diff are as follows (N denotes optional prefixed count
            modifier):

            a       Toggle treatment of file contents as ASCII text even if binary data was
                    detected.

            Down-arrow, j, Ctrl-n
                    Scroll down N lines (default: 1).

            Up-arrow, k, Ctrl-p
                    Scroll up N lines (default: 1).

            Page-down, Space, Ctrl+f, f
                    Scroll down N pages (default: 1).

            Page-up, Ctrl+b, b
                    Scroll up N pages (default: 1).

            Ctrl+d, d
                    Scroll down N half pages (default: 1).

            Ctrl+u, u
                    Scroll up N half pages (default: 1).

            Home    Scroll to the top of the view.

            End     Scroll to the bottom of the view.

            g       Scroll to line N (default: 1).

            G       Like g but defaults to the last line in the diff.

            (       Navigate to the Nth previous file in the diff (default: 1).

            )       Navigate to the Nth next file in the diff (default: 1).

            {       Navigate to the Nth previous hunk in the diff (default: 1).

            }       Navigate to the Nth next hunk in the diff (default: 1).

            [       Reduce diff context by N lines (default: 1).

            ]       Increase diff context by N lines (default: 1).

            <, Comma, K
                    If the diff view was opened via the log view, move to the Nth previous
                    (younger) commit.  If the diff was opened via the blame view, move to the Nth
                    previous line and load the corresponding commit (default: 1).

            >, Full stop, J
                    If the diff view was opened via the log view, move to the Nth next (older)
                    commit.  If the diff was opened via the blame view, move to the Nth next line
                    and load the corresponding commit (default: 1).

            /       Prompt for a search pattern and start searching for matching lines.  The
                    search pattern is an extended regular expression.  Regular expression syntax
                    is documented in re_format(7).

            n       Find the Nth next line which matches the current search pattern (default: 1).

            N       Find the Nth previous line which matches the current search pattern (default:
                    1).

            w       Toggle display of whitespace-only changes.

            A       Change the diff algorithm.  Supported diff algorithms are Myers (quick and
                    dirty) and Patience (slow and tidy).  This is a global setting which also
                    affects the blame view.

            The options for tog diff are as follows:

            -a      Treat file contents as ASCII text even if binary data is detected.

            -C number
                    Set the number of context lines shown in the diff.  By default, 3 lines of
                    context are shown.

            -r repository-path
                    Use the repository at the specified path.  If not specified, assume the
                    repository is located at or above the current working directory.  If this
                    directory is a got(1) work tree, use the repository path associated with this
                    work tree.

            -w      Ignore whitespace-only changes.

     blame [-c commit] [-r repository-path] path
            Display line-by-line history of a file at the specified path.

            The key bindings for tog blame are as follows (N denotes optional prefixed count
            modifier):

            Down-arrow, j, Ctrl-n
                    Move the selection cursor down N pages (default: 1).

            Up-arrow, k, Ctrl-p
                    Move the selection cursor up N pages (default: 1).

            Page-down, Space, Ctrl+f, f
                    Move the selection cursor down N pages (default: 1).

            Page-up, Ctrl+b, b
                    Move the selection cursor up N pages (default: 1).

            Ctrl+d, d
                    Move the selection cursor down N half pages (default: 1).

            Ctrl+u, u
                    Move the selection cursor up N half pages (default: 1).

            Home    Move the selection cursor to the first line of the file.

            End     Move the selection cursor to the last line of the file.

            g       Move the selection cursor to line N (default: 1).

            G       Like g but defaults to the last line in the file.

            Enter   Open a diff view for the currently selected line's commit.

            c       Reload the blame view with the version of the file as found in the currently
                    selected line's commit.

            p       Reload the blame view with the version of the file as found in the parent
                    commit of the currently selected line's commit.

            C       Reload the blame view with the previously blamed commit.

            L       Open a log view for the currently selected annotated line.

            /       Prompt for a search pattern and start searching for matching lines.  The
                    search pattern is an extended regular expression.  Regular expression syntax
                    is documented in re_format(7).

            n       Find the Nth next line which matches the current search pattern (default: 1).

            N       Find the Nth previous line which matches the current search pattern (default:
                    1).

            A       Change the diff algorithm.  Supported diff algorithms are Myers (quick and
                    dirty) and Patience (slow and tidy).  This is a global setting which also
                    affects the diff view.

            The options for tog blame are as follows:

            -c commit
                    Start traversing history at the specified commit.  The expected argument is
                    the name of a branch or a commit ID SHA1 hash.  An abbreviated hash argument
                    will be expanded to a full SHA1 hash automatically, provided the abbreviation
                    is unique.

            -r repository-path
                    Use the repository at the specified path.  If not specified, assume the
                    repository is located at or above the current working directory.  If this
                    directory is a got(1) work tree, use the repository path associated with this
                    work tree.

     tree [-c commit] [-r repository-path] [path]
            Display the repository tree.  If a path is specified, show tree entries at this path.

            Displayed tree entries may carry one of the following trailing annotations:

            @      entry is a symbolic link
            /      entry is a directory
            *      entry is an executable file
            $      entry is a Git submodule

            Symbolic link entries are also annotated with the target path of the link.

            The key bindings for tog tree are as follows (N denotes optional prefixed count
            modifier):

            Down-arrow, j, Ctrl-n
                    Move the selection cursor down N lines (default: 1).

            Up-arrow, k, Ctrl-p
                    Move the selection cursor up N lines (default: 1).

            Page-down, Space, Ctrl+f, f
                    Move the selection cursor down N pages (default: 1).

            Page-up, Ctrl+b, b
                    Move the selection cursor up N pages (default: 1).

            Ctrl+d, d
                    Move the selection cursor down N half pages (default: 1).

            Ctrl+u, u
                    Move the selection cursor up N half pages (default: 1).

            Home, =
                    Move the selection cursor to the first entry.

            End, *  Move the selection cursor to the last entry.

            g       Move the selection cursor to entry N (default: 1).

            G       Like g but defaults to the last entry.

            Enter   Enter the currently selected directory, or switch to the blame view for the
                    currently selected file.

            L       Open a log view for the currently selected tree entry.

            R       Open a ref view listing all references in the repository.  This can then be
                    used to open a new tree view for arbitrary branches and tags.

            Backspace
                    Move back to the Nth parent directory (default: 1).

            i       Show object IDs for all objects displayed in the tree view.

            /       Prompt for a search pattern and start searching for matching tree entries.
                    The search pattern is an extended regular expression which is matched against
                    the tree entry's name.  Regular expression syntax is documented in
                    re_format(7).

            n       Find the Nth next tree entry which matches the current search pattern
                    (default: 1).

            N       Find the Nth previous tree entry which matches the current search pattern
                    (default: 1).

            The options for tog tree are as follows:

            -c commit
                    Start traversing history at the specified commit.  The expected argument is
                    the name of a branch or a commit ID SHA1 hash.  An abbreviated hash argument
                    will be expanded to a full SHA1 hash automatically, provided the abbreviation
                    is unique.

            -r repository-path
                    Use the repository at the specified path.  If not specified, assume the
                    repository is located at or above the current working directory.  If this
                    directory is a got(1) work tree, use the repository path associated with this
                    work tree.

     ref [-r repository-path]
            Display references in the repository.

            The key bindings for tog ref are as follows (N denotes optional prefixed count
            modifier):

            Down-arrow, j, Ctrl-n
                    Move the selection cursor down N lines (default: 1).

            Up-arrow, k, Ctrl-p
                    Move the selection cursor up N lines (default: 1).

            Page-down, Space, Ctrl+f, f
                    Move the selection cursor down N pages (default: 1).

            Page-up, Ctrl+b, b
                    Move the selection cursor up N pages (default: 1).

            Ctrl+d, d
                    Move the selection cursor down N half pages (default: 1).

            Ctrl+u, u
                    Move the selection cursor up N half pages (default: 1).

            Home, =
                    Move the selection cursor to the first reference.

            End, *  Move the selection cursor to the last reference.

            g       Move the selection cursor to reference N (default: 1).

            G       Like g but defaults to the last reference.

            Enter   Open a log view which begins traversing history at the commit resolved via
                    the currently selected reference.

            T       Open a tree view showing the tree resolved via the currently selected
                    reference.

            i       Show object IDs for all non-symbolic references displayed in the ref view.

            m       Show last modified date of each displayed reference.

            o       Toggle display order of references between sort by name and sort by
                    timestamp.

            /       Prompt for a search pattern and start searching for matching references.  The
                    search pattern is an extended regular expression which is matched against
                    absolute reference names.  Regular expression syntax is documented in
                    re_format(7).

            n       Find the Nth next reference which matches the current search pattern
                    (default: 1).

            N       Find the Nth previous reference which matches the current search pattern
                    (default: 1).

            Ctrl+l  Reload the list of references displayed by the ref view.

            The options for tog ref are as follows:

            -r repository-path
                    Use the repository at the specified path.  If not specified, assume the
                    repository is located at or above the current working directory.  If this
                    directory is a got(1) work tree, use the repository path associated with this
                    work tree.

ENVIRONMENT

     TOG_COLORS           tog shows colorized output if this variable is set to a non-empty
                          value.  The default color scheme can be modified by setting the
                          environment variables documented below.  The colors available in color
                          schemes are “black”, “red”, “green”, “yellow”, “blue”, “magenta”,
                          “cyan”, and “default” which maps to the terminal's default foreground
                          color.

     TOG_COLOR_AUTHOR     The color used to mark up author information.  If not set, the default
                          value “cyan” is used.

     TOG_COLOR_COMMIT     The color used to mark up commit IDs.  If not set, the default value
                          “green” is used.

     TOG_COLOR_DATE       The color used to mark up date information.  If not set, the default
                          value “yellow” is used.

     TOG_COLOR_DIFF_CHUNK_HEADER
                          The color used to mark up chunk header lines in diffs.  If not set, the
                          default value “yellow” is used.

     TOG_COLOR_DIFF_META  The color used to mark up meta data in diffs.  If not set, the default
                          value “green” is used.

     TOG_COLOR_DIFF_MINUS
                          The color used to mark up removed lines in diffs.  If not set, the
                          default value “magenta” is used.

     TOG_COLOR_DIFF_PLUS  The color used to mark up added lines in diffs.  If not set, the
                          default value “cyan” is used.

     TOG_COLOR_REFS_BACKUP
                          The color used to mark up references in the “refs/got/backup/”
                          namespace.  If not set, the default value “cyan” is used.

     TOG_COLOR_REFS_HEADS
                          The color used to mark up references in the “refs/heads/” namespace.
                          If not set, the default value “green” is used.

     TOG_COLOR_REFS_REMOTES
                          The color used to mark up references in the “refs/remotes/” namespace.
                          If not set, the default value “yellow” is used.

     TOG_COLOR_REFS_TAGS  The color used to mark up references in the “refs/tags/” namespace.  If
                          not set, the default value “magenta” is used.

     TOG_COLOR_TREE_DIRECTORY
                          The color used to mark up directory tree entries.  If not set, the
                          default value “cyan” is used.

     TOG_COLOR_TREE_EXECUTABLE
                          The color used to mark up executable file tree entries.  If not set,
                          the default value “green” is used.

     TOG_COLOR_TREE_SUBMODULE
                          The color used to mark up submodule tree entries.  If not set, the
                          default value “magenta” is used.

     TOG_COLOR_TREE_SYMLINK
                          The color used to mark up symbolic link tree entries.  If not set, the
                          default value “magenta” is used.

     TOG_DIFF_ALGORITHM   Determines the default diff algorithm used by tog.  Supported diff
                          algorithms are Myers (quick and dirty) and Patience (slow and tidy).
                          Valid values for TOG_DIFF_ALGORITHM are “patience” and “myers”.  If
                          unset, the Myers diff algorithm will be used by default.

     TOG_VIEW_SPLIT_MODE  Determines the default layout of split-screen views.  If set to “h” or
                          “H”, tog will use horizontal split by default.  Otherwise, vertical
                          split will be used.  The S key can be used to switch between vertical
                          and horizontal split layout at run-time.

EXIT STATUS

     The tog utility exits 0 on success, and >0 if an error occurs.

SEE ALSO

     got(1), git-repository(5), re_format(7)

AUTHORS

     Christian Weisgerber <naddy@openbsd.org>
     Josh Rickmar <jrick@zettaport.com>
     Joshua Stein <jcs@openbsd.org>
     Mark Jamsek <mark@jamsek.dev>
     Martin Pieuchot <mpi@openbsd.org>
     Omar Polo <op@openbsd.org>
     Stefan Sperling <stsp@openbsd.org>
     Klemens Nanni <kn@openbsd.org>