On Wed, Jun 10, 2015 at 7:56 AM, Junio C Hamano <[email protected]> wrote:
> Paul Tan <[email protected]> writes:
>
>> /**
>> + * Appends merge candidates from FETCH_HEAD that are not marked
>> not-for-merge
>> + * into merge_heads.
>> + */
>
> Hmph, I vaguely recall doing that in C elsewhere already, even
> though I do not remember where offhand...
Right, handle_fetch_head() in builtin/merge.c. It looks up the commit
IDs into commit objects though, which is not required for git-pull. We
only need the list of hashes.
>> +static void get_merge_heads(struct sha1_array *merge_heads)
>> +{
>> + const char *filename = git_path("FETCH_HEAD");
>> + FILE *fp;
>> + struct strbuf sb = STRBUF_INIT;
>> + unsigned char sha1[GIT_SHA1_RAWSZ];
>> +
>> + if (!(fp = fopen(filename, "r")))
>> + die_errno(_("could not open '%s' for reading"), filename);
>> + while(strbuf_getline(&sb, fp, '\n') != EOF) {
>
> Missing SP after "while"
OK
>> + if (get_sha1_hex(sb.buf, sha1))
>> + continue; /* invalid line: does not start with SHA1 */
>> + if (starts_with(sb.buf + GIT_SHA1_HEXSZ, "\tnot-for-merge"))
>
> Look for "\tnot-for-merge\t" instead?
Right, it's better to be stricter.
Thanks,
Paul
--
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