X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-whatchanged.sh;h=1fb9feb34849f5030d0b9dc7f91ae65e22322786;hb=5d8ee9ceb8912c83336191d32b8898943b8944b8;hp=85a49fcd8e7754cc37960c997a200b61c85892b4;hpb=5e80092f7e6db09a40a62e837ca3f74f0bc5ad73;p=git.git diff --git a/git-whatchanged.sh b/git-whatchanged.sh index 85a49fcd..1fb9feb3 100755 --- a/git-whatchanged.sh +++ b/git-whatchanged.sh @@ -1,7 +1,28 @@ #!/bin/sh + +USAGE='[-p] [--max-count=] [..] [--pretty=] [-m] [git-diff-tree options] [git-rev-list options]' +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='-c -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="$diff_tree_default_flags" + 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-rev-list $count $rev_list_args" | +eval "git-diff-tree --stdin --pretty -r $diff_tree_flags $diff_tree_args" | LESS="$LESS -S" ${PAGER:-less}