log and diff family: honor config even from subdirectories
commitef1d9c5aa4c8fd57b2a8043c0cd9fea1c507db6a
authorJunio C Hamano <junkio@cox.net>
Fri, 28 Jul 2006 05:55:44 +0000 (27 22:55 -0700)
committerJunio C Hamano <junkio@cox.net>
Fri, 28 Jul 2006 05:55:44 +0000 (27 22:55 -0700)
tree8e5537ca7f1be31caad67d68310d0ec3e805b3af
parentdee4e384f376020e08cb78f6dfaf00ae84e97a9e
log and diff family: honor config even from subdirectories

There currently is an unfortunate circular dependency between
what init_revisions (the command line revision specification
parser) does and setting up the log and diff options.  The
function uses setup_git_directory() to find the root of the
project relative to the current directory and calls diff_setup()
to prepare diff generation.  However, some of the things that
diff_setup() does needs to depend on the configuration variable,
which needs to be read after setup_git_directory() is called.

This patch is a low impact workaround.  It first lets
init_revisions() to run and do its thing, then uses git_config()
and diff_setup() after it returns, so that configuration
variables that affects the diff operation can be used from
subdirectories.

Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c
builtin-log.c