in cmd/zoekt-indexserver/config.go [158:268]
func executeMirror(cfg []ConfigEntry, repoDir string, pendingRepos chan<- string) {
// Randomize the ordering in which we query
// things. This is to ensure that quota limits don't
// always hit the last one in the list.
cfg = randomize(cfg)
for _, c := range cfg {
var cmd *exec.Cmd
if c.GitHubURL != "" || c.GithubUser != "" || c.GithubOrg != "" {
cmd = exec.Command("zoekt-mirror-github",
"-dest", repoDir, "-delete")
if c.GitHubURL != "" {
cmd.Args = append(cmd.Args, "-url", c.GitHubURL)
}
if c.GithubUser != "" {
cmd.Args = append(cmd.Args, "-user", c.GithubUser)
} else if c.GithubOrg != "" {
cmd.Args = append(cmd.Args, "-org", c.GithubOrg)
}
if c.Name != "" {
cmd.Args = append(cmd.Args, "-name", c.Name)
}
if c.Exclude != "" {
cmd.Args = append(cmd.Args, "-exclude", c.Exclude)
}
if c.CredentialPath != "" {
cmd.Args = append(cmd.Args, "-token", c.CredentialPath)
}
for _, topic := range c.Topics {
cmd.Args = append(cmd.Args, "-topic", topic)
}
for _, topic := range c.ExcludeTopics {
cmd.Args = append(cmd.Args, "-exclude_topic", topic)
}
} else if c.GitilesURL != "" {
cmd = exec.Command("zoekt-mirror-gitiles",
"-dest", repoDir, "-name", c.Name)
if c.Exclude != "" {
cmd.Args = append(cmd.Args, "-exclude", c.Exclude)
}
cmd.Args = append(cmd.Args, c.GitilesURL)
} else if c.CGitURL != "" {
cmd = exec.Command("zoekt-mirror-gitiles",
"-type", "cgit",
"-dest", repoDir, "-name", c.Name)
if c.Exclude != "" {
cmd.Args = append(cmd.Args, "-exclude", c.Exclude)
}
cmd.Args = append(cmd.Args, c.CGitURL)
} else if c.BitBucketServerURL != "" {
cmd = exec.Command("zoekt-mirror-bitbucket-server",
"-dest", repoDir, "-url", c.BitBucketServerURL, "-delete")
if c.BitBucketServerProject != "" {
cmd.Args = append(cmd.Args, "-project", c.BitBucketServerProject)
}
if c.DisableTLS {
cmd.Args = append(cmd.Args, "-disable-tls")
}
if c.ProjectType != "" {
cmd.Args = append(cmd.Args, "-type", c.ProjectType)
}
if c.Name != "" {
cmd.Args = append(cmd.Args, "-name", c.Name)
}
if c.Exclude != "" {
cmd.Args = append(cmd.Args, "-exclude", c.Exclude)
}
if c.CredentialPath != "" {
cmd.Args = append(cmd.Args, "-credentials", c.CredentialPath)
}
} else if c.GitLabURL != "" {
cmd = exec.Command("zoekt-mirror-gitlab",
"-dest", repoDir, "-url", c.GitLabURL)
if c.Name != "" {
cmd.Args = append(cmd.Args, "-name", c.Name)
}
if c.Exclude != "" {
cmd.Args = append(cmd.Args, "-exclude", c.Exclude)
}
if c.OnlyPublic {
cmd.Args = append(cmd.Args, "-public")
}
if c.CredentialPath != "" {
cmd.Args = append(cmd.Args, "-token", c.CredentialPath)
}
} else if c.GerritApiURL != "" {
cmd = exec.Command("zoekt-mirror-gerrit",
"-dest", repoDir)
if c.CredentialPath != "" {
cmd.Args = append(cmd.Args, "-http-credentials", c.CredentialPath)
}
if c.Name != "" {
cmd.Args = append(cmd.Args, "-name", c.Name)
}
if c.Exclude != "" {
cmd.Args = append(cmd.Args, "-exclude", c.Exclude)
}
cmd.Args = append(cmd.Args, c.GerritApiURL)
}
stdout, _ := loggedRun(cmd)
for _, fn := range bytes.Split(stdout, []byte{'\n'}) {
if len(fn) == 0 {
continue
}
pendingRepos <- string(fn)
}
}
}