diff options
author | Junio C Hamano <junkio@cox.net> | 2006-08-15 21:38:07 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-08-15 21:38:07 -0700 |
commit | 42f774063db1442fc3815f596d263f90dcd8380b (patch) | |
tree | 5a959ca6469b90b9cf04623bb5b4c7d41fac5f74 /read-cache.c | |
parent | Documentation/technical/racy-git.txt (diff) | |
download | tgif-42f774063db1442fc3815f596d263f90dcd8380b.tar.xz |
Add check program "git-check-racy"
This will help counting the racily clean paths, but it should be
useless for daily use. Do not even enable it in the makefile.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'read-cache.c')
-rw-r--r-- | read-cache.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/read-cache.c b/read-cache.c index ec4dd5ae6c..4d621ef444 100644 --- a/read-cache.c +++ b/read-cache.c @@ -169,9 +169,11 @@ static int ce_match_stat_basic(struct cache_entry *ce, struct stat *st) return changed; } -int ce_match_stat(struct cache_entry *ce, struct stat *st, int ignore_valid) +int ce_match_stat(struct cache_entry *ce, struct stat *st, int options) { unsigned int changed; + int ignore_valid = options & 01; + int assume_racy_is_modified = options & 02; /* * If it's marked as always valid in the index, it's @@ -200,8 +202,12 @@ int ce_match_stat(struct cache_entry *ce, struct stat *st, int ignore_valid) */ if (!changed && index_file_timestamp && - index_file_timestamp <= ntohl(ce->ce_mtime.sec)) - changed |= ce_modified_check_fs(ce, st); + index_file_timestamp <= ntohl(ce->ce_mtime.sec)) { + if (assume_racy_is_modified) + changed |= DATA_CHANGED; + else + changed |= ce_modified_check_fs(ce, st); + } return changed; } |