diff options
author | Will Chandler <wchandler@gitlab.com> | 2019-10-25 06:44:08 +0300 |
---|---|---|
committer | jramsay <wchandler@gitlab.com> | 2019-10-25 07:00:11 +0300 |
commit | 22b569ed572ec2bb70faf411cd47bee75b9a3758 (patch) | |
tree | 2b30df1d69a8c7465bc98095d7223db51dcea7a7 | |
parent | 7c5f2377d27e67f1404b72c47fb9d687c999e766 (diff) |
Fix empty string refmaps triggering mirroring
-rw-r--r-- | internal/git/remote/remote.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/internal/git/remote/remote.go b/internal/git/remote/remote.go index 06082252f..3831432c5 100644 --- a/internal/git/remote/remote.go +++ b/internal/git/remote/remote.go @@ -91,6 +91,12 @@ func Exists(ctx context.Context, repo repository.GitRepo, name string) (bool, er } func setMirror(ctx context.Context, repo repository.GitRepo, name string, refmaps []string) error { + parsedMaps := parseRefmaps(refmaps) + + if len(parsedMaps) == 0 { + return nil + } + for _, configOption := range []string{"mirror", "prune"} { cmd, err := git.SafeCmd(ctx, repo, nil, git.SubCmd{ Name: "config", @@ -107,13 +113,12 @@ func setMirror(ctx context.Context, repo repository.GitRepo, name string, refmap } } - return setRefmaps(ctx, repo, name, refmaps) + return setRefmaps(ctx, repo, name, parsedMaps) } func setRefmaps(ctx context.Context, repo repository.GitRepo, name string, refmaps []string) error { - parsedMaps := parseRefmaps(refmaps) - for i, refmap := range parsedMaps { + for i, refmap := range refmaps { var flag git.Flag if i == 0 { flag = git.Flag{"--replace-all"} @@ -140,7 +145,7 @@ func setRefmaps(ctx context.Context, repo repository.GitRepo, name string, refma } func parseRefmaps(refmaps []string) []string { - parsedMaps := make([]string, len(refmaps)) + var parsedMaps []string for _, refmap := range refmaps { if len(refmap) == 0 { |