On Mon, Sep 21, 2015 at 5:56 PM, Eric Sunshine <[email protected]> wrote:
> On Mon, Sep 21, 2015 at 6:39 PM, Stefan Beller <[email protected]> wrote:
>> We need the submodule update strategies in a later patch.
>>
>> Signed-off-by: Stefan Beller <[email protected]>
>> ---
>> diff --git a/submodule-config.c b/submodule-config.c
>> @@ -326,6 +327,21 @@ static int parse_config(const char *var, const char
>> *value, void *data)
>> free((void *) submodule->url);
>> strbuf_addstr(&url, value);
>> submodule->url = strbuf_detach(&url, NULL);
>> + } else if (!strcmp(item.buf, "update")) {
>> + struct strbuf update = STRBUF_INIT;
>> + if (!value) {
>> + ret = config_error_nonbool(var);
>> + goto release_return;
>> + }
>> + if (!me->overwrite && submodule->update != NULL) {
>> + warn_multiple_config(me->commit_sha1,
>> submodule->name,
>> + "update");
>> + goto release_return;
>> + }
>> +
>> + free((void *) submodule->update);
>> + strbuf_addstr(&update, value);
>> + submodule->update = strbuf_detach(&update, NULL);
>> }
>>
>> release_return:
>
> Why the complicated logic flow? Also, why is strbuf 'update' needed?
To be honest, I just copied it from above, where the url is read using
the exact same workflow. In the reroll I'll fix both.
>
> I'd have expected to see something simpler, such as:
>
> } else if (!strcmp(item.buf, "update")) {
> if (!value)
> ret = config_error_nonbool(var);
> else if (!me->overwrite && ...)
> warn_multiple_config(...);
> else {
> free((void *)submodule->update);
> submodule->update = xstrdup(value);
> }
> }
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html