`--pretty` option as this option will be set automatically to the format
expected by the main view.
-Example on how to open the log view and show both author and committer
+Example on how to view a commit and show both author and committer
information:
-----------------------------------------------------------------------------
-$ tig log --pretty=fuller
+$ tig show --pretty=fuller
-----------------------------------------------------------------------------
See the <<refspec, "Specifying revisions">> section below for an introduction
Several options related to the interface with git can be configured via
environment options.
+[[configuration-files]]
+Configuration Files
+~~~~~~~~~~~~~~~~~~~
+
+Upon startup, tig first reads the system wide configuration file
+(`{sysconfdir}/tigrc` by default) and then proceeds to read the user's
+configuration file (`~/.tigrc` by default). The paths to either of these files
+can be overridden through the following environment variables:
+
+TIGRC_USER::
+ Path of the user configuration file.
+
+TIGRC_SYSTEM::
+ Path of the system wide configuration file.
+
[[repo-refs]]
Repository References
~~~~~~~~~~~~~~~~~~~~~
the option: `--pretty=raw` since the main view parser expects to
read that format.
+[[tree-commands]]
+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 "git ls-tree %s %s".
+
+TIG_BLOB_CMD::
+ The command used for the blob view. Takes one argument which is
+ the blob ID. Defaults to "git cat-file blob %s".
+
[[viewer]]
The Viewer
----------
Displays the file content or "blob" of data associated with a file
name.
+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.
+
+The stage view::
+ Displays diff changes for staged or unstanged files being tracked or
+ file content of untracked files.
+
The pager view::
Is used for displaying both input from stdin and output from git
commands entered in the internal prompt.
p Switch to pager view.
t Switch to (directory) tree view.
f Switch to (file) blob view.
-h Show man page.
+h Switch to help view
+S Switch to status view
+c Switch to stage view
-----------------------------------------------------------------------------
[[view-manipulation]]
view, split the view and show the commit diff. In the diff view \
pressing Enter will simply scroll the view one line down.
Tab Switch to next view.
+R Reload and refresh the current view.
Up This key is "context sensitive" and will move the cursor one \
line up. However, if you opened a diff view from the main view \
(split- or full-screen) it will change the cursor to point to \
the revision log.
v Show version.
'.' 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).
+',' Move tree view to the parent tree.
+e Open file in editor.
+-----------------------------------------------------------------------------
+
+[[external-commands]]
+External Commands
+~~~~~~~~~~~~~~~~~
+
+Tig also comes with a few builtin external commands. These are simple shell
+commands that are run and can take arguments from the current browsing state,
+such as the current commit ID. The default commands are:
+
+`-------`--------------------------------------------------------------------
+Key Action
+-----------------------------------------------------------------------------
+C git cherry-pick %(commit)
+G git gc
-----------------------------------------------------------------------------
[[refspec]]
file (or even several files) list the files like this:
-----------------------------------------------------------------------------
-$ tig log Makefile README
+$ tig Makefile README
-----------------------------------------------------------------------------
-To avoid ambiguity with repository references such as tag name, be sure to
-separate file names from other git options using "\--". So if you have a file
-named 'master' it will clash with the reference named 'master', and thus you
-will have to use:
+To avoid ambiguity with tig's subcommands or repository references such as tag
+name, be sure to separate file names from other git options using "\--". So if
+you have a file named 'status' it will clash with the 'status' subcommand, and
+thus you will have to use:
-----------------------------------------------------------------------------
-$ tig log -- master
+$ tig -- status
-----------------------------------------------------------------------------
NOTE: For the main view, avoiding ambiguity will in some cases require you to
use:
-----------------------------------------------------------------------------
-$ tig -- --after="May 5th" --before="2006-05-16 15:44"
+$ tig --after="May 5th" --before="2006-05-16 15:44"
-----------------------------------------------------------------------------
NOTE: If you want to avoid having to quote dates containing spaces you can use
commits between 'tag-1.0' and 'tag-2.0'". For example:
-----------------------------------------------------------------------------
-$ tig log tag-1.0..tag-2.0
+$ tig tag-1.0..tag-2.0
-----------------------------------------------------------------------------
This way of commit limiting makes it trivial to only browse the commits which
remote branch, using:
-----------------------------------------------------------------------------
-$ tig log origin..HEAD
+$ tig origin..HEAD
-----------------------------------------------------------------------------
will list what will be pushed to the remote branch. Optionally, the ending
following:
-----------------------------------------------------------------------------
-$ tig log tag-2.0 ^tag-1.0
+$ tig tag-2.0 ^tag-1.0
-----------------------------------------------------------------------------
You can think of '^' as a negation operator. Using this alternate syntax, it
under the Documentation/ directory."
-----------------------------------------------------------------------------
-$ tig -- --since=1.month -n20 -- Documentation/
+$ tig --since=1.month -n20 -- Documentation/
-----------------------------------------------------------------------------
[[refspec-all]]
accomplished using:
-----------------------------------------------------------------------------
-$ tig -- --all --since=1.week -- Makefile
+$ tig --all --since=1.week -- Makefile
-----------------------------------------------------------------------------
include::BUGS[]
Copyright
---------
-Copyright (c) 2006 Jonas Fonseca <fonseca@diku.dk>
+Copyright (c) 2006-2007 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
include::SITES[]
-Git porcelains:
-
- - link:http://www.kernel.org/pub/software/scm/git/docs/[git],
- - link:http://www.kernel.org/pub/software/scm/cogito/docs/[Cogito]
-
Other git repository browsers:
- gitk(1)