1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-05 08:47:56 +01:00

Merge branch 'rs/rebase'

* rs/rebase:
  git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.
  git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
This commit is contained in:
Junio C Hamano 2006-10-18 22:08:31 -07:00
commit a420585f38
2 changed files with 16 additions and 3 deletions

View file

@ -7,7 +7,7 @@ git-rebase - Rebase local commits to a new head
SYNOPSIS
--------
'git-rebase' [--merge] [--onto <newbase>] <upstream> [<branch>]
'git-rebase' [-v] [--merge] [--onto <newbase>] <upstream> [<branch>]
'git-rebase' --continue | --skip | --abort
@ -121,6 +121,9 @@ OPTIONS
is used instead (`git-merge-recursive` when merging a single
head, `git-merge-octopus` otherwise). This implies --merge.
-v, \--verbose::
Display a diffstat of what changed upstream since the last rebase.
include::merge-strategies.txt[]
NOTES

View file

@ -3,7 +3,7 @@
# Copyright (c) 2005 Junio C Hamano.
#
USAGE='[--onto <newbase>] <upstream> [<branch>]'
USAGE='[-v] [--onto <newbase>] <upstream> [<branch>]'
LONG_USAGE='git-rebase replaces <branch> with a new branch of the
same name. When the --onto option is provided the new branch starts
out with a HEAD equal to <newbase>, otherwise it is equal to <upstream>
@ -39,6 +39,7 @@ strategy=recursive
do_merge=
dotest=$GIT_DIR/.dotest-merge
prec=4
verbose=
continue_merge () {
test -n "$prev_head" || die "prev_head must be defined"
@ -190,6 +191,9 @@ do
esac
do_merge=t
;;
-v|--verbose)
verbose=t
;;
-*)
usage
;;
@ -273,6 +277,12 @@ then
exit 0
fi
if test -n "$verbose"
then
echo "Changes from $mb to $onto:"
git-diff-tree --stat --summary "$mb" "$onto"
fi
# Rewind the head to "$onto"; this saves our current head in ORIG_HEAD.
git-reset --hard "$onto"
@ -286,7 +296,7 @@ fi
if test -z "$do_merge"
then
git-format-patch -k --stdout --full-index "$upstream"..ORIG_HEAD |
git-format-patch -k --stdout --full-index --ignore-if-in-upstream "$upstream"..ORIG_HEAD |
git am --binary -3 -k --resolvemsg="$RESOLVEMSG" \
--reflog-action=rebase
exit $?