From: W. Trevor King Date: Thu, 25 Oct 2012 10:45:19 GMT Subject: Re: [PATCH] Fixes handling of --reference argument. Message-ID: <20121025104519.GA3816@odin.tremily.us> In-Reply-To: <20121025083625.GA8390@sigill.intra.peff.net> On Thu, Oct 25, 2012 at 04:36:26AM -0400, Jeff King wrote: > On Wed, Oct 24, 2012 at 09:52:52PM -0700, szager@google.com wrote: > > diff --git a/git-submodule.sh b/git-submodule.sh > > index ab6b110..dcceb43 100755 > > --- a/git-submodule.sh > > +++ b/git-submodule.sh > > @@ -270,7 +270,6 @@ cmd_add() > > ;; > > --reference=*) > > reference="$1" > > - shift > > ;; > > Is that right? We'll unconditionally do a "shift" at the end of the > loop. If it were a two-part argument like "--reference foo", the extra > shift would make sense, but for "--reference=*", no extra shift should > be neccessary. Am I missing something? Both the patch and Jeff's analysis are right. You only need an in-case shift if you consume "$2", or you're on ‘--’ and you're breaking before the end-of-case shift. -- This email may be signed or encrypted with GnuPG (http://www.gnupg.org). For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy