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>maint
							parent
							
								
									790fa0e297
								
							
						
					
					
						commit
						c33ab0dd10
					
				|  | @ -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); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano