diff options
author | Junio C Hamano <junkio@cox.net> | 2005-05-07 21:55:21 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-05-07 21:55:21 -0700 |
commit | 192268c197c0f143989662f648b1d900014e7d89 (patch) | |
tree | 54db11a2f64efe7aba6cdedba4398f7228f6c646 /cache.h | |
parent | 0f1e4f04013fec0ba8a51a93fc5d3ec6df706168 (diff) | |
download | git-192268c197c0f143989662f648b1d900014e7d89.tar.gz |
Add git-update-cache --replace option.
When "path" exists as a file or a symlink in the index, an
attempt to add "path/file" is refused because it results in file
vs directory conflict. Similarly when "path/file1",
"path/file2", etc. exist, an attempt to add "path" as a file or
a symlink is refused. With git-update-cache --replace, these
existing entries that conflict with the entry being added are
automatically removed from the cache, with warning messages.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -116,7 +116,9 @@ unsigned int active_nr, active_alloc, active_cache_changed; extern int read_cache(void); extern int write_cache(int newfd, struct cache_entry **cache, int entries); extern int cache_name_pos(const char *name, int namelen); -extern int add_cache_entry(struct cache_entry *ce, int ok_to_add); +#define ADD_CACHE_OK_TO_ADD 1 /* Ok to add */ +#define ADD_CACHE_OK_TO_REPLACE 2 /* Ok to replace file/directory */ +extern int add_cache_entry(struct cache_entry *ce, int option); extern int remove_entry_at(int pos); extern int remove_file_from_cache(char *path); extern int same_name(struct cache_entry *a, struct cache_entry *b); |