From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Subject: [PATCH 2/4] diff.c: return filepair from diff_unmerge()
Date: Sun, 24 Apr 2011 13:51:27 -0700 [thread overview]
Message-ID: <1303678289-27627-3-git-send-email-gitster@pobox.com> (raw)
In-Reply-To: <1303678289-27627-1-git-send-email-gitster@pobox.com>
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>
---
diff.c | 13 ++++++++-----
diff.h | 2 +-
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/diff.c b/diff.c
index 9a5c77c..4c34c64 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 bf2f44d..f51a8ee 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);
--
1.7.5
next prev parent reply other threads:[~2011-04-24 20:51 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-24 20:51 [PATCH 0/4] Fix diff-files output for unmerged paths Junio C Hamano
2011-04-24 20:51 ` [PATCH 1/4] test: use $_z40 from test-lib Junio C Hamano
2011-04-24 20:51 ` Junio C Hamano [this message]
2011-04-24 22:18 ` [PATCH 2/4] diff.c: return filepair from diff_unmerge() Thiago Farina
2011-04-25 1:18 ` Junio C Hamano
2011-04-24 20:51 ` [PATCH 3/4] diff: remove often unused parameters " Junio C Hamano
2011-04-24 20:51 ` [PATCH 4/4] diff-files: show unmerged entries correctly Junio C Hamano
2011-04-24 20:53 ` [PATCH] Fix "add -u" that sometimes fails to resolve unmerged paths Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1303678289-27627-3-git-send-email-gitster@pobox.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).