Stefan Beller <> writes:

>> -               ${reference:+--reference "$reference"} \
>> +               ${reference:+"$reference"} \
> Note how this changed the API of the submodule--helper.
> Currently we pass in --reference $reference
> and $reference consists of the string "--reference" and the actual
> reference. So it looked like '--reference' '--reference=foo'

So this change is a strict bugfix.  The code without this patch
had cmd_update that places "--reference=foo" in $reference, but
the call to "git submodule--helper" it makes added an unnecessary
"--reference" in front of it.

I was wondering why there is no corresponding change to add
"--reference" on the code that calls cmd_update().  Thanks for
saving my time ;-)

Perhaps that needs to go into the log message, though.  Allowing
multiple references is not that interesting from the POV of the
codebase immediately after this step and only deserves a "by the
way" mention.

    Subject: submodule--helper: fix cmd_update()

    cmd_update places "--reference=foo" in $reference, but the call to
    "git submodule--helper" it makes adds an unnecessary "--reference"
    in front of it.  The underlying "git clone" was called with two
    command options "--reference" and "--reference=foo" because of

    While at it, prepare the code to accept multiple references, as
    the underlying "git clone" can happily take more than one.

or something like that.

Needless to say, "While at it" could become a separate step, and a
pure bugfix part may even want to become a separate and more urgent
topic that can go to 'maint', with a test to prevent regression.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to