Re: [PATCH v5 16/16] merge-recursive: flush output buffer even when erroring out

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Johannes Schindelin <johannes.schindelin@xxxxxx> writes:

> diff --git a/merge-recursive.c b/merge-recursive.c
> index a16b150..66e93e0 100644
> --- a/merge-recursive.c
> +++ b/merge-recursive.c
> @@ -2069,6 +2069,7 @@ int merge_recursive(struct merge_options *o,
>  	o->ancestor = "merged common ancestors";
>  	clean = merge_trees(o, h1->tree, h2->tree, merged_common_ancestors->tree,
>  			    &mrtree);
> +	flush_output(o);
>  	if (clean < 0)
>  		return clean;

This is of course a good change, but we need to assume that no
further output is made from the remainder of the function for the
change in the next hunk to remove the existing flush to be correct.

And once we assume that, then the "we no longer need this buffer, so
release it" added in 15/16 can also move here, right?

I am wondering if there is a low-impact way to make sure that
assumption will not be broken.

> @@ -2077,7 +2078,6 @@ int merge_recursive(struct merge_options *o,
>  		commit_list_insert(h1, &(*result)->parents);
>  		commit_list_insert(h2, &(*result)->parents->next);
>  	}
> -	flush_output(o);
>  	if (o->buffer_output < 2)
>  		strbuf_release(&o->obuf);
>  	if (show(o, 2))
--
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



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]