diff-index --cached --raw: show tree entry on the LHS for unmerged entries.
This updates the way diffcore represents an unmerged pair somewhat. It used to be that entries with mode=0 on both sides were used to represent an unmerged pair, but now it has an explicit flag. This is to allow diff-index --cached to report the entry from the tree when the path is unmerged in the index. This is used in updating "git reset <tree> -- <path>" to restore absense of the path in the index from the tree. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
6
diff.c
6
diff.c
@ -2875,10 +2875,12 @@ void diff_change(struct diff_options *options,
|
||||
}
|
||||
|
||||
void diff_unmerge(struct diff_options *options,
|
||||
const char *path)
|
||||
const char *path,
|
||||
unsigned mode, const unsigned char *sha1)
|
||||
{
|
||||
struct diff_filespec *one, *two;
|
||||
one = alloc_filespec(path);
|
||||
two = alloc_filespec(path);
|
||||
diff_queue(&diff_queued_diff, one, two);
|
||||
fill_filespec(one, sha1, mode);
|
||||
diff_queue(&diff_queued_diff, one, two)->is_unmerged = 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user