Re: [PATCH] disallow providing multiple upstream branches to rebase, pull --rebase
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Feb 18, 2009, 13:36 UTC
- Message-ID
- <alpine.DEB.1.00.0902181436380.6274@intel-tinevez-2-302>
- In-Reply-To
- <76718490902180532l1de135ccyd4e58c713e6af2c@mail.gmail.com>
Hi,
On Wed, 18 Feb 2009, Jay Soffian wrote:
Show 31 quoted lines
> On Wed, Feb 18, 2009 at 8:28 AM, Johannes Schindelin
> <Johannes.Schindelin@gmx.de> wrote:
> >> 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