X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/tig/blobdiff_plain/3a91b75ea0be7e8771ad076f63f011cea0a6cc05..8c11094f0b8ae9b82b1a3c44e6588e496214866b:/tig.c diff --git a/tig.c b/tig.c index c1e5ea4..db862bf 100644 --- a/tig.c +++ b/tig.c @@ -32,7 +32,7 @@ **/ #ifndef VERSION -#define VERSION "tig-0.1" +#define VERSION "tig-0.3" #endif #ifndef DEBUG @@ -542,7 +542,7 @@ init_colors(void) **/ #define TIG_LS_REMOTE \ - "git ls-remote ." + "git ls-remote . 2>/dev/null" /** * [[view-commands]] @@ -586,7 +586,7 @@ init_colors(void) /* ... silently ignore that the following are also exported. */ #define TIG_HELP_CMD \ - "man tig 2> /dev/null" + "man tig 2>/dev/null" #define TIG_PAGER_CMD \ "" @@ -2021,6 +2021,9 @@ load_refs(void) pclose(pipe); + if (refs_size == 0) + die("Not a git repository"); + return OK; } @@ -2131,14 +2134,20 @@ main(int argc, char *argv[]) /** * [[refspec]] - * Specifying revisions - * -------------------- + * Revision specification + * ---------------------- * This section describes various ways to specify what revisions to display - * or otherwise limit the view to. Note, that tig(1) does not itself parse - * the described revision options. + * or otherwise limit the view to. tig(1) does not itself parse the described + * revision options so refer to the relevant git man pages for futher + * information. Relevant man pages besides git-log(1) are git-diff(1) and + * git-rev-list(1). + * + * You can tune the interaction with git by making use of the options + * explained in this section. For example, by configuring the environment + * variables described in the <> section. * - * File history - * ~~~~~~~~~~~~ + * Limit by path name + * ~~~~~~~~~~~~~~~~~~ * If you are interested only in those revisions that made changes to a * specific file (or even several files) list the files like this: * @@ -2149,7 +2158,7 @@ main(int argc, char *argv[]) * have a file named 'master' it will clash with the reference named * 'master', and thus you will have to use: * - * $ tag log -- master + * $ tig log -- master * * NOTE: For the main view, avoiding ambiguity will in some cases require * you to specify two "\--" options. The first will make tig(1) stop @@ -2161,12 +2170,17 @@ main(int argc, char *argv[]) * to show both for the log and main view. Either limit by date using * e.g. `--since=1.month` or limit by the number of commits using `-n400`. * - * NOTE: You can tune the interaction with git by making use of the options - * explained in this section. For example, by configuring the environment - * variables described in the <> section. + * If you are only interested in changed that happened between two dates + * you can use: + * + * $ tig -- --after=May.5th --before=2006-05-16.15:44 * - * Ranges - * ~~~~~~ + * NOTE: The dot (".") is used as a separator instead of a space to avoid + * having to quote the option value. If you prefer use `--after="May 5th"` + * instead of `--after="May 5th"`. + * + * Limiting by commit ranges + * ~~~~~~~~~~~~~~~~~~~~~~~~~ * Alternatively, commits can be limited to a specific range, such as * "all commits between 'tag-1.0' and 'tag-2.0'". For example: * @@ -2185,6 +2199,9 @@ main(int argc, char *argv[]) * ~~~~~~~~~~~~~~~~~~~~~~~~ * Git interprets the range specifier "tag-1.0..tag-2.0" as * "all commits reachable from 'tag-2.0' but not from 'tag-1.0'". + * Where reachability refers to what commits are ancestors (or part of the + * history) of the branch or tagged revision in question. + * * If you prefer to specify which commit to preview in this way use the * following: * @@ -2194,6 +2211,23 @@ main(int argc, char *argv[]) * it is possible to further prune commits by specifying multiple branch * cut offs. * + * Combining revisions specification + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Revisions options can to some degree be combined, which makes it possible + * to say "show at most 20 commits from within the last month that changed + * files under the Documentation/ directory." + * + * $ tig -- --since=1.month -n20 -- Documentation/ + * + * Examining all repository references + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * In some cases, it can be useful to query changes across all references + * in a repository. An example is to ask "did any line of development in + * this repository change a particular file within the last week". This + * can be accomplished using: + * + * $ tig -- --all --since=1.week -- Makefile + * * BUGS * ---- * Known bugs and problems: