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>
This commit is contained in:

committed by
Jeff King

parent
efc7df454e
commit
4914c9629c
16
diff.c
16
diff.c
@ -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();
|
||||
}
|
||||
|
Reference in New Issue
Block a user