diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2012-10-26 22:53:52 +0700 |
---|---|---|
committer | Jeff King <peff@peff.net> | 2012-10-29 03:08:30 -0400 |
commit | 4914c9629c046f7f5abf4109ad756040f9ebe2bf (patch) | |
tree | 0e44c88fde1165895cd7d8538e505b2ad0eb12c1 /diff.c | |
parent | efc7df454e9ec8b730fb2293c8549cec43de6bfa (diff) | |
download | git-4914c9629c046f7f5abf4109ad756040f9ebe2bf.tar.gz |
Move setup_diff_pager to libgit.a
This is used by diff-no-index.c, part of libgit.a while it stays in
builtin/diff.c. Move it to diff.c so that we won't get undefined
reference if a program that uses libgit.a happens to pull it in.
While at it, move check_pager from git.c to pager.c. It makes more
sense there and pager.c is also part of libgit.a
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -4878,3 +4878,19 @@ size_t fill_textconv(struct userdiff_driver *driver, return size; } + +void setup_diff_pager(struct diff_options *opt) +{ + /* + * If the user asked for our exit code, then either they want --quiet + * or --exit-code. We should definitely not bother with a pager in the + * former case, as we will generate no output. Since we still properly + * report our exit code even when a pager is run, we _could_ run a + * pager with --exit-code. But since we have not done so historically, + * and because it is easy to find people oneline advising "git diff + * --exit-code" in hooks and other scripts, we do not do so. + */ + if (!DIFF_OPT_TST(opt, EXIT_WITH_STATUS) && + check_pager_config("diff") != 0) + setup_pager(); +} |