Browse Source

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.
maint
Junio C Hamano 18 years ago
parent
commit
a420585f38
  1. 5
      Documentation/git-rebase.txt
  2. 14
      git-rebase.sh

5
Documentation/git-rebase.txt

@ -7,7 +7,7 @@ git-rebase - Rebase local commits to a new head @@ -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 @@ -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

14
git-rebase.sh

@ -3,7 +3,7 @@ @@ -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 @@ -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 @@ -190,6 +191,9 @@ do
esac
do_merge=t
;;
-v|--verbose)
verbose=t
;;
-*)
usage
;;
@ -273,6 +277,12 @@ then @@ -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 @@ -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 $?

Loading…
Cancel
Save