diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-04-22 15:55:55 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-04-23 22:34:43 -0700 |
commit | 76399c0195278ed2b52716b821cf064f77131736 (patch) | |
tree | 87223414f3e8afc3214a955174a1041d25216f00 | |
parent | 3749fde561ad495dea74b0d3a13bba571068396d (diff) | |
download | git-76399c0195278ed2b52716b821cf064f77131736.tar.gz |
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 <gitster@pobox.com>
-rw-r--r-- | diff.c | 13 | ||||
-rw-r--r-- | diff.h | 2 |
2 files changed, 9 insertions, 6 deletions
@@ -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, @@ -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); |