Provided by: got_0.95-1build1_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.

              If invoked in a work tree, the log entry of the work tree's base commit will be prefixed with  one
              of the following annotations:

              *      work tree's base commit and the base commit of all tracked files matches the branch tip
              ~      work tree comprises mixed commits or its base commit is out-of-date

              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  a  commit  ID
                      SHA1  hash,  or  a  reference  name  or keyword which will be resolved to a commit ID.  An
                      abbreviated hash argument will be expanded to a full SHA1 hash automatically, provided the
                      abbreviation is unique.  The keywords ":base" and ":head" resolve to the work tree's  base
                      commit and branch head, respectively.  The former is only valid if invoked in a work tree,
                      while the latter will resolve to the tip of the work tree's current branch if invoked in a
                      work  tree,  otherwise  it  will resolve to the repository's HEAD reference.  Keywords and
                      references may be appended with ":+" or ":-" modifiers and an optional integer N to denote
                      the Nth descendant or antecedent by first parent  traversal,  respectively;  for  example,
                      :head:-2 denotes the work tree branch head's 2nd generation ancestor, and :base:+4 denotes
                      the  4th  generation descendant of the work tree's base commit.  Similarly, foobar:+3 will
                      denote the 3rd generation descendant of the commit resolved by the "foobar" reference.   A
                      ":+"  or  ":-"  modifier  without  a  trailing integer has an implicit "1" appended (e.g.,
                      :base:+ is equivalent to :base:+1).

              -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, an object ID SHA1 hash, or a keyword 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 keywords ":base" and ":head" resolve to the work tree's base commit
              and branch head, respectively.  The former is only valid if invoked in  a  work  tree,  while  the
              latter  will  resolve  to  the  tip  of  the work tree's current branch if invoked in a work tree,
              otherwise it will resolve to the repository's HEAD reference.   Keywords  and  references  may  be
              appended  with  ":+"  or  ":-" modifiers and an optional integer N to denote the Nth descendant or
              antecedent by first parent traversal, respectively; for example, :head:-2 denotes  the  work  tree
              branch  head's  2nd generation ancestor, and :base:+4 denotes the 4th generation descendant of the
              work tree's base commit.  Similarly, foobar:+3 will denote the 3rd generation  descendant  of  the
              commit resolved by the "foobar" reference.  A ":+" or ":-" modifier without a trailing integer has
              an implicit "1" appended (e.g., :base:+ is equivalent to :base:+1).

              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 a commit ID
                      SHA1 hash, or a reference name or keyword which will be  resolved  to  a  commit  ID.   An
                      abbreviated hash argument will be expanded to a full SHA1 hash automatically, provided the
                      abbreviation  is unique.  The keywords ":base" and ":head" resolve to the work tree's base
                      commit and branch head, respectively.  The former is only valid if invoked in a work tree,
                      while the latter will resolve to the tip of the work tree's current branch if invoked in a
                      work tree, otherwise it will resolve to the repository's  HEAD  reference.   Keywords  and
                      references may be appended with ":+" or ":-" modifiers and an optional integer N to denote
                      the  Nth  descendant  or  antecedent by first parent traversal, respectively; for example,
                      :head:-2 denotes the work tree branch head's 2nd generation ancestor, and :base:+4 denotes
                      the 4th generation descendant of the work tree's base commit.  Similarly,  foobar:+3  will
                      denote  the 3rd generation descendant of the commit resolved by the "foobar" reference.  A
                      ":+" or ":-" modifier without a trailing integer  has  an  implicit  "1"  appended  (e.g.,
                      :base:+ is equivalent to :base:+1).

              -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  a  commit  ID
                      SHA1  hash,  or  a  reference  name  or keyword which will be resolved to a commit ID.  An
                      abbreviated hash argument will be expanded to a full SHA1 hash automatically, provided the
                      abbreviation is unique.  The keywords ":base" and ":head" resolve to the work tree's  base
                      commit and branch head, respectively.  The former is only valid if invoked in a work tree,
                      while the latter will resolve to the tip of the work tree's current branch if invoked in a
                      work  tree,  otherwise  it  will resolve to the repository's HEAD reference.  Keywords and
                      references may be appended with ":+" or ":-" modifiers and an optional integer N to denote
                      the Nth descendant or antecedent by first parent  traversal,  respectively;  for  example,
                      :head:-2 denotes the work tree branch head's 2nd generation ancestor, and :base:+4 denotes
                      the  4th  generation descendant of the work tree's base commit.  Similarly, foobar:+3 will
                      denote the 3rd generation descendant of the commit resolved by the "foobar" reference.   A
                      ":+"  or  ":-"  modifier  without  a  trailing integer has an implicit "1" appended (e.g.,
                      :base:+ is equivalent to :base:+1).

              -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  Patience  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>

Debian                                             $Mdocdate$                                             TOG(1)