summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-11-14 22:15:40 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-11-14 22:15:40 (GMT)
commitc78a24986d4d3faff810e87dbcd0ac99f0eabbce (patch)
tree29ceb2cf66c2454949d42dae7d8a70cb8f87d70e /cache.h
parentef4de8357dff57d403073572e8b260618bd03175 (diff)
parent25487bde2ab756a423489fc942b37c1550555b93 (diff)
downloadgit-c78a24986d4d3faff810e87dbcd0ac99f0eabbce.zip
git-c78a24986d4d3faff810e87dbcd0ac99f0eabbce.tar.gz
git-c78a24986d4d3faff810e87dbcd0ac99f0eabbce.tar.bz2
Merge branch 'jc/maint-add-sync-stat'
* jc/maint-add-sync-stat: t2200: test more cases of "add -u" git-add: make the entry stat-clean after re-adding the same contents ce_match_stat, run_diff_files: use symbolic constants for readability Conflicts: builtin-add.c
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/cache.h b/cache.h
index f0a25c7..f4f27cd 100644
--- a/cache.h
+++ b/cache.h
@@ -175,8 +175,8 @@ extern struct index_state the_index;
#define remove_file_from_cache(path) remove_file_from_index(&the_index, (path))
#define add_file_to_cache(path, verbose) add_file_to_index(&the_index, (path), (verbose))
#define refresh_cache(flags) refresh_index(&the_index, (flags), NULL, NULL)
-#define ce_match_stat(ce, st, really) ie_match_stat(&the_index, (ce), (st), (really))
-#define ce_modified(ce, st, really) ie_modified(&the_index, (ce), (st), (really))
+#define ce_match_stat(ce, st, options) ie_match_stat(&the_index, (ce), (st), (options))
+#define ce_modified(ce, st, options) ie_modified(&the_index, (ce), (st), (options))
#endif
enum object_type {
@@ -268,8 +268,14 @@ extern int remove_file_from_index(struct index_state *, const char *path);
extern int add_file_to_index(struct index_state *, const char *path, int verbose);
extern struct cache_entry *make_cache_entry(unsigned int mode, const unsigned char *sha1, const char *path, int stage, int refresh);
extern int ce_same_name(struct cache_entry *a, struct cache_entry *b);
-extern int ie_match_stat(struct index_state *, struct cache_entry *, struct stat *, int);
-extern int ie_modified(struct index_state *, struct cache_entry *, struct stat *, int);
+
+/* do stat comparison even if CE_VALID is true */
+#define CE_MATCH_IGNORE_VALID 01
+/* do not check the contents but report dirty on racily-clean entries */
+#define CE_MATCH_RACY_IS_DIRTY 02
+extern int ie_match_stat(struct index_state *, struct cache_entry *, struct stat *, unsigned int);
+extern int ie_modified(struct index_state *, struct cache_entry *, struct stat *, unsigned int);
+
extern int ce_path_match(const struct cache_entry *ce, const char **pathspec);
extern int index_fd(unsigned char *sha1, int fd, struct stat *st, int write_object, enum object_type type, const char *path);
extern int index_pipe(unsigned char *sha1, int fd, const char *type, int write_object);