diff options
Diffstat (limited to 'git-whatchanged.sh')
-rwxr-xr-x | git-whatchanged.sh | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/git-whatchanged.sh b/git-whatchanged.sh index d4f985b5eb..574fc3558e 100755 --- a/git-whatchanged.sh +++ b/git-whatchanged.sh @@ -5,14 +5,24 @@ SUBDIRECTORY_OK='Yes' . git-sh-setup diff_tree_flags=$(git-rev-parse --sq --no-revs --flags "$@") || exit +case "$0" in +*whatchanged) + count= + test -z "$diff_tree_flags" && + diff_tree_flags=$(git-repo-config --get whatchanged.difftree) + diff_tree_default_flags='-M --abbrev' ;; +*show) + count=-n1 + test -z "$diff_tree_flags" && + diff_tree_flags=$(git-repo-config --get show.difftree) + diff_tree_default_flags='--cc --always' ;; +esac test -z "$diff_tree_flags" && - diff_tree_flags=$(git-repo-config --get whatchanged.difftree) -test -z "$diff_tree_flags" && - diff_tree_flags='-M --abbrev' + diff_tree_flags="$diff_tree_default_flags" rev_list_args=$(git-rev-parse --sq --default HEAD --revs-only "$@") && diff_tree_args=$(git-rev-parse --sq --no-revs --no-flags "$@") && -eval "git-rev-list $rev_list_args" | +eval "git-rev-list $count $rev_list_args" | eval "git-diff-tree --stdin --pretty -r $diff_tree_flags $diff_tree_args" | LESS="$LESS -S" ${PAGER:-less} |