Set some gc.* git config
In particular, this sets `gc.autoDetach` to "false".
This commit is contained in:
parent
e98bbb0228
commit
47404c921e
|
|
@ -408,6 +408,12 @@ func main() {
|
|||
askpassCount.WithLabelValues(metricKeySuccess).Inc()
|
||||
}
|
||||
|
||||
// Set additional configs we want, but users might override.
|
||||
if err := setupDefaultGitConfigs(ctx); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "ERROR: can't set default git configs: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// This needs to be after all other git-related config flags.
|
||||
if *flGitConfig != "" {
|
||||
if err := setupExtraGitConfigs(ctx, *flGitConfig); err != nil {
|
||||
|
|
@ -755,8 +761,8 @@ func addWorktreeAndSwap(ctx context.Context, gitRoot, dest, branch, rev string,
|
|||
return err
|
||||
}
|
||||
|
||||
// GC clone
|
||||
if _, err := cmdRunner.Run(ctx, gitRoot, nil, *flGitCmd, "gc", "--prune=all"); err != nil {
|
||||
// Run GC if needed.
|
||||
if _, err := cmdRunner.Run(ctx, gitRoot, nil, *flGitCmd, "gc", "--auto"); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
@ -1170,6 +1176,24 @@ func callGitAskPassURL(ctx context.Context, url string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func setupDefaultGitConfigs(ctx context.Context) error {
|
||||
configs := []keyVal{{
|
||||
// Never auto-detach GC runs.
|
||||
key: "gc.autoDetach",
|
||||
val: "false",
|
||||
}, {
|
||||
// Fairly aggressive GC.
|
||||
key: "gc.pruneExpire",
|
||||
val: "now",
|
||||
}}
|
||||
for _, kv := range configs {
|
||||
if _, err := cmdRunner.Run(ctx, "", nil, *flGitCmd, "config", "--global", kv.key, kv.val); err != nil {
|
||||
return fmt.Errorf("error configuring git %q %q: %v", kv.key, kv.val, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func setupExtraGitConfigs(ctx context.Context, configsFlag string) error {
|
||||
log.V(1).Info("setting additional git configs")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue