From: Junio C Hamano Date: Thu, 22 Dec 2005 06:25:00 +0000 (-0800) Subject: whatchanged: customize diff-tree output X-Git-Tag: v1.1.0~35 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=9b15770220aab37302cda115d257eeb4e6e72959;p=git.git whatchanged: customize diff-tree output This allows the configuration item whatchanged.difftree to control the output from git-whatchanged command. For example: [whatchanged] difftree = --pretty=fuller --name-status -M does rename detection, shows the commit header in "fuller" format and lists affected pathnames and the kind of changes to them. When no such configuration item exists, the output format defaults to "--pretty -M --abbrev". Signed-off-by: Junio C Hamano --- diff --git a/git-whatchanged.sh b/git-whatchanged.sh index b170f74a..80e2500e 100755 --- a/git-whatchanged.sh +++ b/git-whatchanged.sh @@ -4,9 +4,15 @@ USAGE='[-p] [--max-count=] [..] [--pretty=] [-m] [git-d SUBDIRECTORY_OK='Yes' . git-sh-setup +diff_tree_flags=$(git-rev-parse --sq --no-revs --flags "$@") +test -z "$diff_tree_flags" && + diff_tree_flags=$(git-repo-config --get whatchanged.difftree) +test -z "$diff_tree_flags" && + diff_tree_flags='-M --abbrev' + rev_list_args=$(git-rev-parse --sq --default HEAD --revs-only "$@") && -diff_tree_args=$(git-rev-parse --sq --no-revs "$@") && +diff_tree_args=$(git-rev-parse --sq --no-revs --no-flags "$@") && eval "git-rev-list $rev_list_args" | -eval "git-diff-tree --stdin --pretty -r $diff_tree_args" | +eval "git-diff-tree --stdin --pretty -r $diff_tree_flags $diff_tree_args" | LESS="$LESS -S" ${PAGER:-less}