• C
    config: add core.untrackedCache · 435ec090
    Christian Couder 提交于
    When we know that mtime on directory as given by the environment
    is usable for the purpose of untracked cache, we may want the
    untracked cache to be always used without any mtime test or
    kernel name check being performed.
    
    Also when we know that mtime is not usable for the purpose of
    untracked cache, for example because the repo is shared over a
    network file system, we may want the untracked-cache to be
    automatically removed from the index.
    
    Allow the user to express such preference by setting the
    'core.untrackedCache' configuration variable, which can take
    'keep', 'false', or 'true' and default to 'keep'.
    
    When read_index_from() is called, it now adds or removes the
    untracked cache in the index to respect the value of this
    variable. So it does nothing if the value is `keep` or if the
    variable is unset; it adds the untracked cache if the value is
    `true`; and it removes the cache if the value is `false`.
    
    `git update-index --[no-|force-]untracked-cache` still adds the
    untracked cache to, or removes it, from the index, but this
    shows a warning if it goes against the value of
    core.untrackedCache, because the next time the index is read
    the untracked cache will be added or removed if the
    configuration is set to do so.
    
    Also `--untracked-cache` used to check that the underlying
    operating system and file system change `st_mtime` field of a
    directory if files are added or deleted in that directory. But
    because those tests take a long time, `--untracked-cache` no
    longer performs them. Instead, there is now
    `--test-untracked-cache` to perform the tests. This change
    makes `--untracked-cache` the same as `--force-untracked-cache`.
    
    This last change is backward incompatible and should be
    mentioned in the release notes.
    Helped-by: NDuy Nguyen <pclouds@gmail.com>
    Helped-by: NTorsten Bögershausen <tboegi@web.de>
    Helped-by: NStefan Beller <sbeller@google.com>
    Signed-off-by: NChristian Couder <chriscool@tuxfamily.org>
    Signed-off-by: NÆvar Arnfjörð Bjarmason <avarab@gmail.com>
    
    read-cache: Duy'sfixup
    Signed-off-by: NChristian Couder <chriscool@tuxfamily.org>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    435ec090
config.c 56.0 KB