diff options
| author | Junio C Hamano <gitster@pobox.com> | 2008-01-21 00:44:50 -0800 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2008-01-22 21:26:40 -0800 | 
| commit | 6d91da6d3c170d026f2d7f79bbd7b657a6908cc8 (patch) | |
| tree | adb7b336b0e7b0b06269fa250491ef5b17c1dbf2 | |
| parent | 077c48df8a72b046a2f562fedffa1c3d3a73a4e2 (diff) | |
| download | git-6d91da6d3c170d026f2d7f79bbd7b657a6908cc8.tar.gz | |
read-cache.c: introduce is_racy_timestamp() helper
This moves a common boolean expression into a helper function,
and makes the comparison between filesystem timestamp and index
timestamp done in the function in line with the other places.
st.st_mtime should be casted to (unsigned int) when compared to
an index timestamp ce_mtime.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | read-cache.c | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/read-cache.c b/read-cache.c index 8f5d02afaa..07abd5d7eb 100644 --- a/read-cache.c +++ b/read-cache.c @@ -181,6 +181,12 @@ static int ce_match_stat_basic(struct cache_entry *ce, struct stat *st)  	return changed;  } +static int is_racy_timestamp(struct index_state *istate, struct cache_entry *ce) +{ +	return (istate->timestamp && +		((unsigned int)istate->timestamp) <= ce->ce_mtime); +} +  int ie_match_stat(struct index_state *istate,  		  struct cache_entry *ce, struct stat *st,  		  unsigned int options) @@ -214,9 +220,7 @@ int ie_match_stat(struct index_state *istate,  	 * whose mtime are the same as the index file timestamp more  	 * carefully than others.  	 */ -	if (!changed && -	    istate->timestamp && -	    istate->timestamp <= ce->ce_mtime) { +	if (!changed && is_racy_timestamp(istate, ce)) {  		if (assume_racy_is_modified)  			changed |= DATA_CHANGED;  		else @@ -1233,8 +1237,7 @@ int write_index(struct index_state *istate, int newfd)  		struct cache_entry *ce = cache[i];  		if (ce->ce_flags & CE_REMOVE)  			continue; -		if (istate->timestamp && -		    istate->timestamp <= ce->ce_mtime) +		if (is_racy_timestamp(istate, ce))  			ce_smudge_racily_clean_entry(ce);  		if (ce_write_entry(&c, newfd, ce) < 0)  			return -1;  | 
