Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Chandler <wchandler@gitlab.com>2019-10-25 06:44:08 +0300
committerjramsay <wchandler@gitlab.com>2019-10-25 07:00:11 +0300
commit22b569ed572ec2bb70faf411cd47bee75b9a3758 (patch)
tree2b30df1d69a8c7465bc98095d7223db51dcea7a7
parent7c5f2377d27e67f1404b72c47fb9d687c999e766 (diff)
Fix empty string refmaps triggering mirroring
-rw-r--r--internal/git/remote/remote.go13
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 {