Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-03-02 10:10:00 +0300
committerJunio C Hamano <junkio@cox.net>2006-03-02 10:20:01 +0300
commit1142038098810a69e57d88554559e4e6116df177 (patch)
treee8f0b311c8aa119c7e25616f7fea54fc7659880e /read-tree.c
parente1a0c8b1483b38d32d3870408e03a6c1b340aa15 (diff)
read-tree --aggressive: remove deleted entry from the working tree.
When both heads deleted, or our side deleted while the other side did not touch, we did not have to update the working tree. However, we forgot to remove existing working tree file when we did not touch and the other side did. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'read-tree.c')
-rw-r--r--read-tree.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/read-tree.c b/read-tree.c
index bb50a800d7..da0fcf035e 100644
--- a/read-tree.c
+++ b/read-tree.c
@@ -560,9 +560,11 @@ static int threeway_merge(struct cache_entry **stages)
*/
if ((head_deleted && remote_deleted) ||
(head_deleted && remote && remote_match) ||
- (remote_deleted && head && head_match))
+ (remote_deleted && head && head_match)) {
+ if (index)
+ return deleted_entry(index, index);
return 0;
-
+ }
/*
* Added in both, identically.
*/