From: Junio C Hamano Date: Fri, 22 Apr 2011 22:55:55 +0000 (-0700) Subject: diff.c: return filepair from diff_unmerge() X-Git-Tag: v1.7.5.2~8^2~3 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=76399c0195278ed2b52716b821cf064f77131736;p=git.git diff.c: return filepair from diff_unmerge() The underlying diff_queue() returns diff_filepair so that the caller can further add information to it, and the helper function diff_unmerge() utilizes the feature itself, but does not expose it to its callers, which was kind of selfish. Signed-off-by: Junio C Hamano --- diff --git a/diff.c b/diff.c index 9a5c77c13..4c34c64bd 100644 --- a/diff.c +++ b/diff.c @@ -4308,20 +4308,23 @@ void diff_change(struct diff_options *options, DIFF_OPT_SET(options, HAS_CHANGES); } -void diff_unmerge(struct diff_options *options, - const char *path, - unsigned mode, const unsigned char *sha1) +struct diff_filepair *diff_unmerge(struct diff_options *options, + const char *path, + unsigned mode, const unsigned char *sha1) { + struct diff_filepair *pair; struct diff_filespec *one, *two; if (options->prefix && strncmp(path, options->prefix, options->prefix_length)) - return; + return NULL; one = alloc_filespec(path); two = alloc_filespec(path); fill_filespec(one, sha1, mode); - diff_queue(&diff_queued_diff, one, two)->is_unmerged = 1; + pair = diff_queue(&diff_queued_diff, one, two); + pair->is_unmerged = 1; + return pair; } static char *run_textconv(const char *pgm, struct diff_filespec *spec, diff --git a/diff.h b/diff.h index bf2f44d84..f51a8ee1b 100644 --- a/diff.h +++ b/diff.h @@ -209,7 +209,7 @@ extern void diff_change(struct diff_options *, const char *fullpath, unsigned dirty_submodule1, unsigned dirty_submodule2); -extern void diff_unmerge(struct diff_options *, +extern struct diff_filepair *diff_unmerge(struct diff_options *, const char *path, unsigned mode, const unsigned char *sha1);