[PATCH 0/3] fetch: add --[no-]show-forced-updates
- From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jun 18, 2019, 20:25 UTC
- Message-ID
- <pull.273.git.gitgitgadget@gmail.com>
The git fetch builtin includes a calculation to see if the ref values were forced updates (i.e. if the old value is not in the history of the new value). In a repo with many refs and a fast-moving history, this calculation can be very slow.
This series adds a new --[no-]show-forced-updates option to 'git fetch' to avoid this calculation when requested. Further:
1. Add a new fetch.showForcedUpdates config setting that provides a default
value for --[no-]show-forced-updates.
2. Add a new advice.fetchShowForcedUpdates config setting associated with a
warning that suggests fetch.showForcedUpdates when the calculation takes
a long time, or warns about the lack of "(forced update)" messages.
3. Add the command-line options to 'git pull'.
We have been running with these commits in microsoft/git for a while now and no user has complained that the messages were removed (VFS for Git sets fetch.showForcedUpdates=false by default). Users have complained about the warning messages always appearing, so this series includes the advice config setting. Further, I added a test to demonstrate the behavior change between the two options.
The fetch.showForcedUpdates config setting is a candidate to be added to the proposed "large repo" meta-config setting previously discussed [1]. I'm putting this out for independent review as it is much smaller compared to the potential of that series.
Thanks, -Stolee
[1] https://public-inbox.org/git/pull.254.git.gitgitgadget@gmail.com/
Derrick Stolee (3): fetch: add --[no-]show-forced-updates argument fetch: warn about forced updates in branch listing pull: add --[no-]show-forced-updates passthrough
Documentation/config/advice.txt | 4 ++++ Documentation/config/fetch.txt | 5 +++++ Documentation/fetch-options.txt | 13 +++++++++++++ advice.c | 2 ++ advice.h | 1 + builtin/fetch.c | 34 ++++++++++++++++++++++++++++++++- builtin/pull.c | 7 +++++++ t/t5510-fetch.sh | 23 ++++++++++++++++++++++ 8 files changed, 88 insertions(+), 1 deletion(-)
base-commit: b697d92f56511e804b8ba20ccbe7bdc85dc66810 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-273%2Fderrickstolee%2Fshow-forced-updates-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-273/derrickstolee/show-forced-updates-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/273
-- gitgitgadget