diff: remove often unused parameters from diff_unmerge()

e9c8409 (diff-index --cached --raw: show tree entry on the LHS for
unmerged entries., 2007-01-05) added a <mode, object name> pair as
parameters to this function, to store them in the pre-image side of an
unmerged file pair.  Now the function is fixed to return the filepair it
queued, we can make the caller on the special case codepath to do so.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2011-04-22 16:05:58 -07:00
parent 76399c0195
commit fa7b290895
3 changed files with 6 additions and 11 deletions

View File

@ -183,7 +183,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
* Show the diff for the 'ce' if we found the one
* from the desired stage.
*/
diff_unmerge(&revs->diffopt, ce->name, 0, null_sha1);
diff_unmerge(&revs->diffopt, ce->name);
if (ce_stage(ce) != diff_unmerged_stage)
continue;
}
@ -372,8 +372,9 @@ static void do_oneway_diff(struct unpack_trees_options *o,
match_missing = !revs->ignore_merges;
if (cached && idx && ce_stage(idx)) {
diff_unmerge(&revs->diffopt, idx->name, idx->ce_mode,
idx->sha1);
struct diff_filepair *pair;
pair = diff_unmerge(&revs->diffopt, idx->name);
fill_filespec(pair->one, idx->sha1, idx->ce_mode);
return;
}

5
diff.c
View File

@ -4308,9 +4308,7 @@ void diff_change(struct diff_options *options,
DIFF_OPT_SET(options, HAS_CHANGES);
}
struct diff_filepair *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)
{
struct diff_filepair *pair;
struct diff_filespec *one, *two;
@ -4321,7 +4319,6 @@ struct diff_filepair *diff_unmerge(struct diff_options *options,
one = alloc_filespec(path);
two = alloc_filespec(path);
fill_filespec(one, sha1, mode);
pair = diff_queue(&diff_queued_diff, one, two);
pair->is_unmerged = 1;
return pair;

5
diff.h
View File

@ -209,10 +209,7 @@ extern void diff_change(struct diff_options *,
const char *fullpath,
unsigned dirty_submodule1, unsigned dirty_submodule2);
extern struct diff_filepair *diff_unmerge(struct diff_options *,
const char *path,
unsigned mode,
const unsigned char *sha1);
extern struct diff_filepair *diff_unmerge(struct diff_options *, const char *path);
#define DIFF_SETUP_REVERSE 1
#define DIFF_SETUP_USE_CACHE 2