diff options
author | Junio C Hamano <junkio@cox.net> | 2006-03-01 23:10:00 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-03-01 23:20:01 -0800 |
commit | 1142038098810a69e57d88554559e4e6116df177 (patch) | |
tree | e8f0b311c8aa119c7e25616f7fea54fc7659880e /read-tree.c | |
parent | e1a0c8b1483b38d32d3870408e03a6c1b340aa15 (diff) | |
download | git-1142038098810a69e57d88554559e4e6116df177.tar.gz git-1142038098810a69e57d88554559e4e6116df177.tar.xz |
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.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/read-tree.c b/read-tree.c index bb50a800d..da0fcf035 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. */ |