Skip to content

Commit

Permalink
combine-diff: Honour --full-index.
Browse files Browse the repository at this point in the history
For some reason, combined diffs don't honour the --full-index flag when
emitting patches.  Fix this.

Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
distorted-mdw authored and Junio C Hamano committed Feb 27, 2006
1 parent c55f3ff commit e70c6b3
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions combine-diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -621,7 +621,8 @@ static void reuse_combine_diff(struct sline *sline, unsigned long cnt,
}

static int show_patch_diff(struct combine_diff_path *elem, int num_parent,
int dense, const char *header)
int dense, const char *header,
struct diff_options *opt)
{
unsigned long size, cnt, lno;
char *result, *cp, *ep;
Expand All @@ -631,6 +632,7 @@ static int show_patch_diff(struct combine_diff_path *elem, int num_parent,
char ourtmp_buf[TMPPATHLEN];
char *ourtmp = ourtmp_buf;
int working_tree_file = !memcmp(elem->sha1, null_sha1, 20);
int abbrev = opt->full_index ? 40 : DEFAULT_ABBREV;

/* Read the result of merge first */
if (!working_tree_file) {
Expand Down Expand Up @@ -735,10 +737,10 @@ static int show_patch_diff(struct combine_diff_path *elem, int num_parent,
printf("index ");
for (i = 0; i < num_parent; i++) {
abb = find_unique_abbrev(elem->parent[i].sha1,
DEFAULT_ABBREV);
abbrev);
printf("%s%s", i ? "," : "", abb);
}
abb = find_unique_abbrev(elem->sha1, DEFAULT_ABBREV);
abb = find_unique_abbrev(elem->sha1, abbrev);
printf("..%s\n", abb);

if (mode_differs) {
Expand Down Expand Up @@ -862,7 +864,7 @@ int show_combined_diff(struct combine_diff_path *p,

default:
case DIFF_FORMAT_PATCH:
return show_patch_diff(p, num_parent, dense, header);
return show_patch_diff(p, num_parent, dense, header, opt);
}
}

Expand Down

0 comments on commit e70c6b3

Please sign in to comment.