mirror of
https://github.com/git/git.git
synced 2024-12-18 06:14:59 +08:00
10eb00073f
Previously we ran shortlog on the start commit which always printed "(1)" after the start commit, which gives no information, but makes the output less easy to read. Instead of giving the author name of the commit, use the space for committer timestamp to help recipient judge the freshness of the offered branch more easily. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
79 lines
1.6 KiB
Bash
Executable File
79 lines
1.6 KiB
Bash
Executable File
#!/bin/sh -e
|
|
# Copyright 2005, Ryan Anderson <ryan@michonline.com>
|
|
#
|
|
# This file is licensed under the GPL v2, or a later version
|
|
# at the discretion of Linus Torvalds.
|
|
|
|
USAGE='<start> <url> [<end>]'
|
|
LONG_USAGE='Summarizes the changes between two commits to the standard output,
|
|
and includes the given URL in the generated summary.'
|
|
SUBDIRECTORY_OK='Yes'
|
|
OPTIONS_SPEC='git request-pull [options] start url [end]
|
|
--
|
|
p show patch text as well
|
|
'
|
|
|
|
. git-sh-setup
|
|
. git-parse-remote
|
|
|
|
GIT_PAGER=
|
|
export GIT_PAGER
|
|
|
|
patch=
|
|
while case "$#" in 0) break ;; esac
|
|
do
|
|
case "$1" in
|
|
-p)
|
|
patch=-p ;;
|
|
--)
|
|
shift; break ;;
|
|
-*)
|
|
usage ;;
|
|
*)
|
|
break ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
base=$1
|
|
url=$2
|
|
head=${3-HEAD}
|
|
|
|
[ "$base" ] || usage
|
|
[ "$url" ] || usage
|
|
|
|
baserev=`git rev-parse --verify "$base"^0` &&
|
|
headrev=`git rev-parse --verify "$head"^0` || exit
|
|
|
|
merge_base=`git merge-base $baserev $headrev` ||
|
|
die "fatal: No commits in common between $base and $head"
|
|
|
|
branch=$(git ls-remote "$url" \
|
|
| sed -n -e "/^$headrev refs.heads./{
|
|
s/^.* refs.heads.//
|
|
p
|
|
q
|
|
}")
|
|
url=$(get_remote_url "$url")
|
|
if [ -z "$branch" ]; then
|
|
echo "warn: No branch of $url is at:" >&2
|
|
git log --max-count=1 --pretty='tformat:warn: %h: %s' $headrev >&2
|
|
echo "warn: Are you sure you pushed $head there?" >&2
|
|
echo >&2
|
|
echo >&2
|
|
branch=..BRANCH.NOT.VERIFIED..
|
|
status=1
|
|
fi
|
|
|
|
git show -s --format='The following changes since commit %H:
|
|
|
|
%s (%ci)
|
|
|
|
are available in the git repository at:' $baserev
|
|
echo " $url $branch"
|
|
echo
|
|
|
|
git shortlog ^$baserev $headrev
|
|
git diff -M --stat --summary $patch $merge_base..$headrev
|
|
exit $status
|