summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-12-17 09:09:41 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-12-17 09:14:43 (GMT)
commitc33ab0dd100d91d417b5ed3378acbf3310c07cec (patch)
tree297253b1e7b6226f1eff5a8010f0fc7fc3f4094a
parent790fa0e297b41b9e8c98a77b58004c58408e5f7a (diff)
downloadgit-c33ab0dd100d91d417b5ed3378acbf3310c07cec.zip
git-c33ab0dd100d91d417b5ed3378acbf3310c07cec.tar.gz
git-c33ab0dd100d91d417b5ed3378acbf3310c07cec.tar.bz2
git-add: remove conflicting entry when adding.
When replacing an existing file A with a directory A that has a file A/B in it in the index, 'git add' did not succeed because it forgot to pass the allow-replace flag to add_cache_entry(). It might be safer to leave this as an error and require the user to explicitly remove the existing A first before adding A/B since it is an unusual case, but doing that automatically is much easier to use. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--read-cache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/read-cache.c b/read-cache.c
index a602010..983e68b 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -358,7 +358,7 @@ int add_file_to_index(const char *path, int verbose)
if (index_path(ce->sha1, path, &st, 1))
die("unable to index file %s", path);
- if (add_cache_entry(ce, ADD_CACHE_OK_TO_ADD))
+ if (add_cache_entry(ce, ADD_CACHE_OK_TO_ADD|ADD_CACHE_OK_TO_REPLACE))
die("unable to add %s to index",path);
if (verbose)
printf("add '%s'\n", path);