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.tokkee.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 b170f74a9..80e2500e0 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}