Skip to content

Commit

Permalink
Merge branch 'pm/diff'
Browse files Browse the repository at this point in the history
* pm/diff:
  diff-index --cc shows a 3-way diff between HEAD, index and working tree.
  • Loading branch information
Junio C Hamano committed Sep 7, 2006
2 parents 0ea2582 + cb2b9f5 commit 8895cbc
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions diff-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,31 @@ static int show_modified(struct rev_info *revs,
return -1;
}

if (revs->combine_merges && !cached &&
(hashcmp(sha1, old->sha1) || hashcmp(old->sha1, new->sha1))) {
struct combine_diff_path *p;
int pathlen = ce_namelen(new);

p = xmalloc(combine_diff_path_size(2, pathlen));
p->path = (char *) &p->parent[2];
p->next = NULL;
p->len = pathlen;
memcpy(p->path, new->name, pathlen);
p->path[pathlen] = 0;
p->mode = ntohl(mode);
hashclr(p->sha1);
memset(p->parent, 0, 2 * sizeof(struct combine_diff_parent));
p->parent[0].status = DIFF_STATUS_MODIFIED;
p->parent[0].mode = ntohl(new->ce_mode);
hashcpy(p->parent[0].sha1, new->sha1);
p->parent[1].status = DIFF_STATUS_MODIFIED;
p->parent[1].mode = ntohl(old->ce_mode);
hashcpy(p->parent[1].sha1, old->sha1);
show_combined_diff(p, 2, revs->dense_combined_merges, revs);
free(p);
return 0;
}

oldmode = old->ce_mode;
if (mode == oldmode && !hashcmp(sha1, old->sha1) &&
!revs->diffopt.find_copies_harder)
Expand Down

0 comments on commit 8895cbc

Please sign in to comment.