git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.
PATCH 1/1 git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.
--- Documentation/git-rebase.txt | 5 ++++- git-rebase.sh | 12 +++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-)
Documentation/git-rebase.txt +4 -1
@@ -7,7 +7,7 @@ git-rebase - Rebase local commits to a n 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
git-rebase.sh +11 -1
@@ -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"
Documentation/git-rebase.txt OPTIONS · line 129
Quoted 11 lines · Robert Shearman
Signed-off-by Robert Shearman <[email protected]>Documentation/git-rebase.txt +3
-0@@ -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
I initially was a bit surprised that you did not show diff between onto and our HEAD (i.e. show the damages contained in the topic you are rebasing that will be inflicted on upstream), but I think your way of showing the upstream changes makes more sense. From the workflow point of view, this is for people who rebase instead of pull, and when pulling we show what the upstream did while we were looking the other way, so this naturally matches that behaviour for rebase. I would say it is a good thinking.
hoi :)
Quoted 14 lines · Junio C Hamano
Documentation/git-rebase.txt OPTIONS · line 126
Quoted 3 lines · Robert Shearman
+-v, \--verbose::
Documentation/git-rebase.txt +2
-0+ Display a diffstat of what changed upstream since the last rebase. +I initially was a bit surprised that you did not show diff between onto and our HEAD (i.e. show the damages contained in the topic you are rebasing that will be inflicted on upstream), but I think your way of showing the upstream changes makes more sense. From the workflow point of view, this is for people who rebase instead of pull, and when pulling we show what the upstream did while we were looking the other way, so this naturally matches that behaviour for rebase. I would say it is a good thinking.
but perhaps we should use the same command line options as pull:
default to show the diffstat and use -n to suppress it?
Signature · 1 line
Martin Waitz
Quoted 2 lines · Martin Waitz
but perhaps we should use the same command line options as pull:
default to show the diffstat and use -n to suppress it?
I suspect that if your workflow is based on rebase, you usually fetch and rebase often enough to know what you are rebasing onto (the fact that this patch did not appear for a long time in rebase's existence is what makes me think so). So I think not showing diffstat is probably a sane default.
Opinions?