[PATCH] git-add: remove conflicting entry when adding.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Dec 17, 2006, 09:11 UTC
- Message-ID
- <7v3b7e7up1.fsf_-_@assigned-by-dhcp.cox.net>
- In-Reply-To
- <7vk60r7139.fsf@assigned-by-dhcp.cox.net>
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> --- read-cache.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/read-cache.c b/read-cache.c index e856a2e..b8d83cc 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);
-- 1.4.4.2.g83c5