diff options
| author | Jeff Carr <[email protected]> | 2025-10-03 11:27:11 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-03 11:27:11 -0500 |
| commit | ae329b7b65a89c3f271b2f108fb54940033c1012 (patch) | |
| tree | 32b33d0eb1ddf21a76eb1662cb0d53bf3a07adc8 /doClone.go | |
| parent | 17565a9f7ec9023856f7ce977b238c9eda91c18a (diff) | |
repomap handling
Diffstat (limited to 'doClone.go')
| -rw-r--r-- | doClone.go | 44 |
1 files changed, 41 insertions, 3 deletions
@@ -27,6 +27,10 @@ func doClone() error { log.Info("resources/repomap is empty") return config.ErrEmpty } + if argv.Clone.Repomap != nil { + makeNewRepomap(string(data)) + return nil + } for _, line := range strings.Split(string(data), "\n") { if line == "" { @@ -36,8 +40,15 @@ func doClone() error { continue } parts := strings.Fields(line) - gopath := parts[0] - repo := me.forge.Repos.FindByNamespace(gopath) + namespace := parts[0] + repo := me.forge.Repos.FindByNamespace(namespace) + if argv.Clone.Check != nil { + if repo == nil { + log.Info("don't have repo", namespace) + } + log.Info("does url match?", parts) + continue + } if repo != nil { if argv.Verbose { log.Info("already have", repo.FullPath) @@ -45,7 +56,7 @@ func doClone() error { continue } var cmd []string - cmd = []string{"go-clone", "--non-recursive", gopath} + cmd = []string{"go-clone", "--non-recursive", namespace} if argv.DryRun { log.Info("run:", cmd) } else { @@ -59,3 +70,30 @@ func doClone() error { } return nil } + +func makeNewRepomap(lines string) { + for _, line := range strings.Split(lines, "\n") { + if line == "" { + log.Info(line) + continue + } + if strings.HasPrefix(line, "#") { + log.Info(line) + continue + } + parts := strings.Fields(line) + namespace := parts[0] + repo := me.forge.Repos.FindByNamespace(namespace) + if repo == nil { + log.Info(line) + continue + } + newparts := []string{namespace} + newparts = append(newparts, repo.URL) + if len(parts) > 2 { + newparts = append(newparts, parts[2:]...) + } + newline := strings.Join(newparts, " ") + log.Info(newline) + } +} |
