mirror of
https://github.com/git/git
synced 2024-10-03 23:29:36 +00:00
fsmonitor: refactor untracked-cache invalidation
Update fsmonitor_refresh_callback() to use the new untracked_cache_invalidate_trimmed_path() to invalidate the cache using the observed pathname without needing to modify the caller's buffer. Previously, we modified the caller's buffer when the observed pathname contained a trailing slash (and did not restore it). This wasn't a problem for the single use-case caller, but felt dirty nontheless. In a later commit we will want to invalidate case-corrected versions of the pathname (using possibly borrowed pathnames from the name-hash or dir-name-hash) and we may not want to keep the tradition of altering the passed-in pathname. Signed-off-by: Jeff Hostetler <jeffhostetler@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3e4ffda639
commit
48f4cd7155
11
fsmonitor.c
11
fsmonitor.c
|
@ -271,21 +271,16 @@ static void fsmonitor_refresh_callback(struct index_state *istate, char *name)
|
||||||
|
|
||||||
if (name[len - 1] == '/') {
|
if (name[len - 1] == '/') {
|
||||||
handle_path_with_trailing_slash(istate, name, pos);
|
handle_path_with_trailing_slash(istate, name, pos);
|
||||||
|
|
||||||
/*
|
|
||||||
* We need to remove the traling "/" from the path
|
|
||||||
* for the untracked cache.
|
|
||||||
*/
|
|
||||||
name[len - 1] = '\0';
|
|
||||||
} else {
|
} else {
|
||||||
handle_path_without_trailing_slash(istate, name, pos);
|
handle_path_without_trailing_slash(istate, name, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mark the untracked cache dirty even if it wasn't found in the index
|
* Mark the untracked cache dirty even if it wasn't found in the index
|
||||||
* as it could be a new untracked file.
|
* as it could be a new untracked file. (Let the untracked cache
|
||||||
|
* layer silently deal with any trailing slash.)
|
||||||
*/
|
*/
|
||||||
untracked_cache_invalidate_path(istate, name, 0);
|
untracked_cache_invalidate_trimmed_path(istate, name, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue