threads / patch / 5798

patchgit-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.

Subject: [PATCH] git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.

## tl;dr

4 messages between Oct 3, 2006 and Oct 4, 2006. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Robert Shearman· Oct 3, 2006, 16:29 UTC · lore
Signed-off-by: Robert Shearman <rob@codeweavers.com>
---
  Documentation/git-rebase.txt |    5 ++++-
  git-rebase.sh                |   12 +++++++++++-
  2 files changed, 15 insertions(+), 2 deletions(-)
Show changes to 2 files +15 −2

Documentation/git-rebase.txt, git-rebase.sh

diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 9d7bcaa..10f2924 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -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
diff --git a/git-rebase.sh b/git-rebase.sh
index 413636e..546fa44 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -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"
 
Junio C Hamano· Oct 3, 2006, 22:35 UTC · re: Robert Shearman · lore

Re: [PATCH] git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.

Robert Shearman <rob@codeweavers.com> writes:
Show 11 quoted lines
> Signed-off-by: Robert Shearman <rob@codeweavers.com>
> @@ -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.

Martin Waitz· Oct 4, 2006, 06:59 UTC · re: Junio C Hamano · lore

Re: [PATCH] git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.

hoi :)
On Tue, Oct 03, 2006 at 03:35:09PM -0700, Junio C Hamano wrote:
Show 14 quoted lines
> Robert Shearman <rob@codeweavers.com> writes:
> > +-v, \--verbose::
> > +	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?

-- 
Martin Waitz
Junio C Hamano· Oct 4, 2006, 07:13 UTC · re: Martin Waitz · lore

Re: [PATCH] git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.

Martin Waitz <tali@admingilde.org> writes:
> 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?

← back to recent threads