Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > Jared Hance wrote: >>> Subject: Re: [PATCH v2] Add support for merging from upstream by default. Drop full-stop '.' at the end. >> Adds the option merge.defaultupstream to add support for merging from the >> upstream branch by default. > > Could you give an example of breakage this configurability is designed > to prevent? I think there is no "prevent" or "breakage"; the patch is to give people a way to turn the feature on; without the configuration, "git merge" will keep the traditional behaviour, no? >> +++ b/builtin/merge.c >> @@ -37,7 +37,7 @@ struct strategy { >> }; >> >> static const char * const builtin_merge_usage[] = { >> - "git merge [options] <remote>...", >> + "git merge [options] [<remote>...]", >> "git merge [options] <msg> HEAD <remote>", >> NULL > > Side note: these should probably say "<commit>" or "<branch>" rather > than "<remote>". I'm guessing the usage string comes from the days > before the separate-remotes ref layout... Yes, your guess is correct. >> @@ -911,6 +934,24 @@ static int evaluate_result(void) >> return cnt; >> } >> >> +static void setup_merge_commit(struct strbuf *buf, >> + struct commit_list ***remotes, const char *s) >> +{ >> + struct object *o; >> + struct commit *commit; >> + >> + o = peel_to_type(s, 0, NULL, OBJ_COMMIT); >> + if (!o) >> + die("%s - not something we can merge", s); >> + commit = lookup_commit(o->sha1); >> + commit->util = (void *)s; >> + *remotes = &commit_list_insert(commit, *remotes)->next; >> + >> + strbuf_addf(buf, "GITHEAD_%s", sha1_to_hex(o->sha1)); >> + setenv(buf->buf, s, 1); >> + strbuf_reset(buf); >> +} > > Would be easier to review if this code movement were in a separate > patch (separating cleanup from semantic changes). Probably. It is a very good idea to move this code out to its own helper function, nevertheless; I like this part of the patch. > Even better would be to use descriptive messages, like so: > > if (head_invalid) > usage_msg_opt("cannot use old-style invocation from an unborn branch", > ...); > if (!argc && ...) > usage_msg_opt("no commit to merge specified", ...); Much better. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html