diff options
author | Victoria Dye <vdye@github.com> | 2022-11-10 22:06:02 +0300 |
---|---|---|
committer | Taylor Blau <me@ttaylorr.com> | 2022-11-11 05:49:34 +0300 |
commit | 68fcd48bafa1ef51b1ba40a41cb0fcdbad7acce1 (patch) | |
tree | af43307d536f90cb9d7738b003d2328424cc6841 /unpack-trees.h | |
parent | 94fcf0e85207979e3a7b35ad348cdd6b7ab42058 (diff) |
unpack-trees: add 'skip_cache_tree_update' option
Add (disabled by default) option to skip the 'cache_tree_update()' at the
end of 'unpack_trees()'. In many cases, this cache tree update is redundant
because the caller of 'unpack_trees()' immediately follows it with
'prime_cache_tree()', rebuilding the entire cache tree from scratch. While
these operations aren't the most expensive part of operations like 'git
reset', the duplicate calls still create a minor unnecessary slowdown.
Introduce an option for callers to skip the 'cache_tree_update()' in
'unpack_trees()' if it is redundant (that is, if 'prime_cache_tree()' is
called afterwards). At the moment, no 'unpack_trees()' callers use the new
option; they will be updated in subsequent patches.
Signed-off-by: Victoria Dye <vdye@github.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Diffstat (limited to 'unpack-trees.h')
-rw-r--r-- | unpack-trees.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/unpack-trees.h b/unpack-trees.h index efb9edfbb2..6ab0d74c84 100644 --- a/unpack-trees.h +++ b/unpack-trees.h @@ -71,7 +71,8 @@ struct unpack_trees_options { quiet, exiting_early, show_all_errors, - dry_run; + dry_run, + skip_cache_tree_update; enum unpack_trees_reset_type reset; const char *prefix; int cache_bottom; |