Code

Fix loading of blame data when opened from the tree view
[tig.git] / manual.txt
index 447dec07020fe8f6f8906a51edb0e6f53de7f97a..d73e819ed2aab5455514276dac07200aa6576969 100644 (file)
@@ -111,6 +111,9 @@ The blob view::
 The blame view::
        Displays the file content annotated or blamed by commits.
 
+The branch view::
+       Displays the branches in the repository.
+
 The status view::
        Displays status of files in the working tree and allows changes to be
        staged/unstaged as well as adding of untracked files.
@@ -137,8 +140,9 @@ reloaded, if the commit ID changed. The head ID is used when opening the main
 and log view to indicate from what revision to show history.
 
 Some of the commands used or provided by tig can be configured. This goes for
-the <<external-commands, external commands>>. These user-defined commands can
-use arguments that refer to the current browsing state by using one of the
+some of the <<env-variables, environment variables>> as well as the
+<<external-commands, external commands>>. These user-defined commands can use
+arguments that refer to the current browsing state by using one of the
 following variables.
 
 `-----------------------`-----------------------------------------------------
@@ -147,6 +151,10 @@ Browsing state variables
 %(head)                        The currently viewed 'head' ID. Defaults to HEAD
 %(commit)              The currently selected commit ID.
 %(blob)                        The currently selected blob ID.
+%(directory)           The current directory path in the tree view; \
+                       empty for the root directory.
+%(file)                        The currently selected file.
+%(ref)                 The reference given to blame or HEAD if undefined.
 ------------------------------------------------------------------------------
 
 [[title-window]]
@@ -233,13 +241,12 @@ for example you prefer commits in the main view to be sorted by date and only
 show 500 commits, use:
 
 -----------------------------------------------------------------------------
-$ TIG_MAIN_CMD="git log --date-order -n500 --pretty=raw %s" tig
+$ TIG_MAIN_CMD="git log --date-order -n500 --pretty=raw %(head)" tig
 -----------------------------------------------------------------------------
 
 Or set the variable permanently in your environment.
 
-Notice, how `%s` is used to specify the commit reference. There can be a
-maximum of 5 `%s` ref specifications.
+Notice, how `%(head)` is used to specify the commit reference.
 
 --
 
@@ -248,7 +255,7 @@ TIG_DIFF_CMD::
        The command used for the diff view. Defaults to:
 -----------------------------------------------------------------------------
 git show --pretty=fuller --no-color --root 
-        --patch-with-stat --find-copies-harder -C %s
+        --patch-with-stat --find-copies-harder -C %(commit)
 -----------------------------------------------------------------------------
 
 TIG_LOG_CMD::
@@ -257,7 +264,7 @@ TIG_LOG_CMD::
        author and committer shown in the log view be sure to pass
        `\--pretty=fuller` to git log. Defaults to:
 -----------------------------------------------------------------------------
-git log --no-color --cc --stat -n100 %s
+git log --no-color --cc --stat -n100 %(head)
 -----------------------------------------------------------------------------
 
 TIG_MAIN_CMD::
@@ -266,7 +273,7 @@ TIG_MAIN_CMD::
        the option: `\--pretty=raw` since the main view parser expects to
        read that format.
 -----------------------------------------------------------------------------
-git log --no-color --pretty=raw --parents --topo-order %s
+git log --no-color --pretty=raw --parents --topo-order %(head)
 -----------------------------------------------------------------------------
 
 --
@@ -279,19 +286,16 @@ Tree Commands
 
 TIG_TREE_CMD::
 
-       The command used for the tree view. Takes two arguments, the first is
-       the revision ID and the second is the path of the directory tree,
-       empty for the root directory. Defaults to:
+       The command used for the tree view. Defaults to:
 -----------------------------------------------------------------------------
-git ls-tree %s %s
+git ls-tree %(commit) %(directory)
 -----------------------------------------------------------------------------
 
 TIG_BLOB_CMD::
 
-       The command used for the blob view. Takes one argument which is the
-       blob ID. Defaults to:
+       The command used for the blob view. Defaults to:
 -----------------------------------------------------------------------------
-git cat-file blob %s
+git cat-file blob %(blob)
 -----------------------------------------------------------------------------
 
 --
@@ -315,6 +319,7 @@ p   Switch to pager view.
 t      Switch to (directory) tree view.
 f      Switch to (file) blob view.
 B      Switch to blame view.
+H      Switch to branch view.
 h      Switch to help view
 S      Switch to status view
 c      Switch to stage view
@@ -343,6 +348,29 @@ Up This key is "context sensitive" and will move the cursor one \
        the previous commit in the main view and update the diff view \
        to display it.
 Down   Similar to 'Up' but will move down.
+','    Move to parent. In the tree view, this means switch to the parent \
+       directory. In the blame view it will load blame for the parent \
+       commit. For merges the parent is queried.
+-----------------------------------------------------------------------------
+
+[[view-actions]]
+View Specific Actions
+~~~~~~~~~~~~~~~~~~~~~
+
+`-------`--------------------------------------------------------------------
+Key    Action
+-----------------------------------------------------------------------------
+u      Update status of file. In the status view, this allows you to add an \
+       untracked file or stage changes to a file for next commit (similar to \
+       running git-add <filename>). In the stage view, when pressing this on \
+       a diff chunk line stages only that chunk for next commit, when not on \
+       a diff chunk line all changes in the displayed diff is staged.
+M      Resolve unmerged file by launching git-mergetool(1). Note, to work \
+       correctly this might require some initial configuration of your \
+       preferred merge tool. See the manpage of git-mergetool(1).
+!      Checkout file with unstaged changes. This will reset the file to \
+       contain the content it had at last commit.
+@      Move to next chunk in the stage view.
 -----------------------------------------------------------------------------
 
 [[cursor-nav]]
@@ -352,8 +380,8 @@ Cursor Navigation
 `-------`--------------------------------------------------------------------
 Key    Action
 -----------------------------------------------------------------------------
-j      Move cursor one line up.
-k      Move cursor one line down.
+k      Move cursor one line up.
+j      Move cursor one line down.
 PgUp,\
 -,a    Move cursor one page up.
 PgDown Space   Move cursor one page down.
@@ -372,6 +400,8 @@ Insert      Scroll view one line up.
 Delete Scroll view one line down.
 w      Scroll view one page up.
 s      Scroll view one page down.
+Left   Scroll view one column left.
+Right  Scroll view one column right.
 -----------------------------------------------------------------------------
 
 [[searching]]
@@ -381,10 +411,10 @@ Searching
 `-------`--------------------------------------------------------------------
 Key    Action
 -----------------------------------------------------------------------------
-/      Search the view. Opens a prompt for entering search regex to use.
-?      Search backwards in the view. Also prompts for regex.
-n      Find next match for the current search regex.
-N      Find previous match for the current search regex.
+/      Search the view. Opens a prompt for entering search regexp to use.
+?      Search backwards in the view. Also prompts for regexp.
+n      Find next match for the current search regexp.
+N      Find previous match for the current search regexp.
 -----------------------------------------------------------------------------
 
 [[misc-keys]]
@@ -400,25 +430,15 @@ z Stop all background loading. This can be useful if you use \
        tig in a repository with a long history without limiting \
        the revision log.
 v      Show version.
+o      Open option menu
 '.'    Toggle line numbers on/off.
 D      Toggle date display on/off.
 A      Toggle author display on/off.
 g      Toggle revision graph visualization on/off.
 F      Toggle reference display on/off (tag and branch names).
 ':'    Open prompt. This allows you to specify what git command \
-       to run. Example `:log -p`
-u      Update status of file. In the status view, this allows you to add an \
-       untracked file or stage changes to a file for next commit (similar to \
-       running git-add <filename>). In the stage view, when pressing this on \
-       a diff chunk line stages only that chunk for next commit, when not on \
-       a diff chunk line all changes in the displayed diff is staged.
-M      Resolve unmerged file by launching git-mergetool(1). Note, to work \
-       correctly this might require some initial configuration of your \
-       preferred merge tool. See the manpage of git-mergetool(1).
-!      Checkout file with unstaged changes. This will reset the file to \
-       contain the content it had at last commit.
-@      Move to next chunk in the stage view.
-','    Move tree view to the parent tree.
+       to run. Example `:log -p`. You can also use this to jump \
+       to a specific line by typing `:<linenumber>`, e.g. `:80`.
 e      Open file in editor.
 -----------------------------------------------------------------------------
 
@@ -429,13 +449,14 @@ External Commands
 For more custom needs, external commands provide a way to easily execute
 a script or program. They are bound to keys and use information from the
 current browsing state, such as the current commit ID. Tig comes with
-the following builtin external commands:
+the following built-in external commands:
 
-`-------`--------------------------------------------------------------------
-Key    Action
+`-------`-------`------------------------------------------------------------
+Keymap Key     Action
 -----------------------------------------------------------------------------
-C      git cherry-pick %(commit)
-G      git gc
+main   C       git cherry-pick %(commit)
+status C       git commit
+generic        G       git gc
 -----------------------------------------------------------------------------
 
 [[refspec]]
@@ -562,7 +583,7 @@ include::BUGS[]
 Copyright
 ---------
 
-Copyright (c) 2006-2008 Jonas Fonseca <fonseca@diku.dk>
+Copyright (c) 2006-2009 Jonas Fonseca <fonseca@diku.dk>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -586,4 +607,3 @@ Other git repository browsers:
 
  - gitk(1)
  - qgit(1)
- - gitview(1)