request-pull: minor tweaks.

- use --verify to make sure rev param is a rev, and barf otherwise.
 - make it always output to stdout; no funny business with tee.
 - take optional branch head name to specify which branch to summarize.
 - show baserev in a human readable way.
 - do not depend on diffstat; use git-apply --stat instead.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2005-07-26 11:47:31 -07:00
parent ab421d2c78
commit 9969b64999

View File

@ -6,31 +6,30 @@
usage()
{
echo "$0 <commit> <filename> <url>"
echo " Summarizes the changes since <commit>, stores them in <filename>"
echo "$0 <commit> <url> [ <head> ]"
echo " Summarizes the changes since <commit> to the standard output,"
echo " and includes <url> in the message generated."
exit 1
}
revision=$1
filename=$2
url=$3
url=$2
head=${3-HEAD}
[ "$revision" ] || usage
[ "$filename" ] || usage
[ "$url" ] || usage
baserev=`git-rev-parse $revision`
baserev=`git-rev-parse --verify $revision^0` &&
headrev=`git-rev-parse --verify $head^0` || exit
(
echo "The git repository at:"
echo " $url"
echo "contains the following changes since commit $baserev"
echo ""
git log $revision.. | git-shortlog ;
git diff $revision.. | diffstat ;
) | tee $filename
echo "The following changes since commit $baserev:"
git log --max-count=1 --pretty=short "$baserev" |
git-shortlog | sed -e 's/^\(.\)/ \1/'
echo "The above message is also stored in $filename"
echo "are found in the git repository at:"
echo
echo " $url"
echo
git log $baserev..$headrev | git-shortlog ;
git diff $baserev..$headrev | git-apply --stat --summary