Skip to content

Commit

Permalink
Merge branch 'jc/maint-combined-diff-work-tree' into maint
Browse files Browse the repository at this point in the history
* jc/maint-combined-diff-work-tree:
  diff -c/--cc: do not mistake "resolved as deletion" as "use working tree"

Conflicts:
	combine-diff.c
  • Loading branch information
Junio C Hamano committed Aug 23, 2011
2 parents 36bad9d + 9969454 commit c9321a0
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions combine-diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,8 @@ static void show_combined_header(struct combine_diff_path *elem,
}

static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
int dense, struct rev_info *rev)
int dense, int working_tree_file,
struct rev_info *rev)
{
struct diff_options *opt = &rev->diffopt;
unsigned long result_size, cnt, lno;
Expand All @@ -777,7 +778,6 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
struct sline *sline; /* survived lines */
int mode_differs = 0;
int i, show_hunks;
int working_tree_file = is_null_sha1(elem->sha1);
mmfile_t result_file;
struct userdiff_driver *userdiff;
struct userdiff_driver *textconv = NULL;
Expand Down Expand Up @@ -1028,6 +1028,12 @@ static void show_raw_diff(struct combine_diff_path *p, int num_parent, struct re
write_name_quoted(p->path, stdout, line_termination);
}

/*
* The result (p->elem) is from the working tree and their
* parents are typically from multiple stages during a merge
* (i.e. diff-files) or the state in HEAD and in the index
* (i.e. diff-index).
*/
void show_combined_diff(struct combine_diff_path *p,
int num_parent,
int dense,
Expand All @@ -1041,7 +1047,7 @@ void show_combined_diff(struct combine_diff_path *p,
DIFF_FORMAT_NAME_STATUS))
show_raw_diff(p, num_parent, rev);
else if (opt->output_format & DIFF_FORMAT_PATCH)
show_patch_diff(p, num_parent, dense, rev);
show_patch_diff(p, num_parent, dense, 1, rev);
}

void diff_tree_combined(const unsigned char *sha1,
Expand Down Expand Up @@ -1109,7 +1115,7 @@ void diff_tree_combined(const unsigned char *sha1,
for (p = paths; p; p = p->next) {
if (p->len)
show_patch_diff(p, num_parent, dense,
rev);
0, rev);
}
}
}
Expand Down

0 comments on commit c9321a0

Please sign in to comment.