Re: [PATCH] disallow providing multiple upstream branches to rebase, pull --rebase
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:46:14
Hi, On Wed, 18 Feb 2009, Jay Soffian wrote:
On Wed, Feb 18, 2009 at 8:28 AM, Johannes Schindelin [off-list ref] wrote:quoted
quoted
if test -z "$rebase_root" then # The upstream head must be given. Make sure it is valid. upstream_name="$1" shift upstream=`git rev-parse --verify "${upstream_name}^0"` || die "invalid upstream $upstream_name" unset root_flag upstream_arg="$upstream_name" else test -z "$newbase" && die "--root must be used with --onto" unset upstream_name unset upstream root_flag="--root" upstream_arg="$root_flag" fi will do the trick, yes?Nope. Note the "shift" in the first arm? It is so that the code below can check for $#, and it indeed does, in a 'case' statement.The case statement checks $# against 1 and *, not 1 and 0. And I don't see how > 1 is valid at that point. So I can modify the case statement to check against 1, 0, and have * emit usage, or I think moving the "test $# -gt 1 && usage" to where I suggested in the last message would do the trick. The only difference would be whether a pre-rebase hook runs in the case of invalid arguments (the case statement is after that hook runs).
Of course, you could also leave the test where it was, and just replace the 1 by a 2. Ciao, Dscho