@@ -623,3 +623,8 @@ client machine.
+
* `status.aheadBehind=false` enables `--no-ahead-behind` by default during
linkgit:git-status[1] calls, saving time in a fast-moving commit history.
++
+* `fetch.showForcedUpdates=false` enables `--no-show-forced-updates` by
+default during linkgit:git-fetch[1] and linkgit:git-pull[1] calls, saving
+time in a fast-moving commit history. This has a small side-effect of not
+updating the forced-update bit in the reflog.
@@ -67,4 +67,4 @@ See also the `--negotiation-tip` option for linkgit:git-fetch[1].
fetch.showForcedUpdates::
Set to false to enable `--no-show-forced-updates` in
linkgit:git-fetch[1] and linkgit:git-pull[1] commands.
- Defaults to true.
+ Defaults to true, unless `core.size=large`.
@@ -23,6 +23,7 @@
#include "packfile.h"
#include "list-objects-filter-options.h"
#include "commit-reach.h"
+#include "repo-settings.h"
#define FORCED_UPDATES_DELAY_WARNING_IN_MS (10 * 1000)
@@ -83,11 +84,6 @@ static int git_fetch_config(const char *k, const char *v, void *cb)
return 0;
}
- if (!strcmp(k, "fetch.showforcedupdates")) {
- fetch_show_forced_updates = git_config_bool(k, v);
- return 0;
- }
-
if (!strcmp(k, "submodule.recurse")) {
int r = git_config_bool(k, v) ?
RECURSE_SUBMODULES_ON : RECURSE_SUBMODULES_OFF;
@@ -1618,6 +1614,10 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
fetch_config_from_gitmodules(&max_children, &recurse_submodules);
git_config(git_fetch_config, NULL);
+ prepare_repo_settings(the_repository);
+ if (the_repository->settings->fetch_show_forced_updates != -1)
+ fetch_show_forced_updates = the_repository->settings->fetch_show_forced_updates;
+
argc = parse_options(argc, argv, prefix,
builtin_fetch_options, builtin_fetch_usage, 0);
@@ -16,6 +16,7 @@ static int git_repo_config(const char *key, const char *value, void *cb)
UPDATE_DEFAULT(rs->gc_write_commit_graph, 1);
UPDATE_DEFAULT(rs->pack_use_sparse, 1);
UPDATE_DEFAULT(rs->status_ahead_behind, 1);
+ UPDATE_DEFAULT(rs->fetch_show_forced_updates, 1);
UPDATE_DEFAULT(rs->index_version, 4);
}
return 0;
@@ -36,6 +37,10 @@ static int git_repo_config(const char *key, const char *value, void *cb)
rs->status_ahead_behind = git_config_bool(key, value);
return 0;
}
+ if (!strcmp(key, "fetch.showforcedupdates")) {
+ rs->fetch_show_forced_updates = git_config_bool(key, value);
+ return 0;
+ }
if (!strcmp(key, "index.version")) {
rs->index_version = git_config_int(key, value);
return 0;
@@ -56,6 +61,7 @@ void prepare_repo_settings(struct repository *r)
r->settings->gc_write_commit_graph = -1;
r->settings->pack_use_sparse = -1;
r->settings->status_ahead_behind = -1;
+ r->settings->fetch_show_forced_updates = -1;
r->settings->index_version = -1;
repo_config(r, git_repo_config, r->settings);
@@ -6,6 +6,7 @@ struct repo_settings {
char gc_write_commit_graph;
char pack_use_sparse;
char status_ahead_behind;
+ char fetch_show_forced_updates;
int index_version;
};