summaryrefslogtreecommitdiff
path: root/doClone.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-03 11:27:11 -0500
committerJeff Carr <[email protected]>2025-10-03 11:27:11 -0500
commitae329b7b65a89c3f271b2f108fb54940033c1012 (patch)
tree32b33d0eb1ddf21a76eb1662cb0d53bf3a07adc8 /doClone.go
parent17565a9f7ec9023856f7ce977b238c9eda91c18a (diff)
repomap handling
Diffstat (limited to 'doClone.go')
-rw-r--r--doClone.go44
1 files changed, 41 insertions, 3 deletions
diff --git a/doClone.go b/doClone.go
index 528edd0..a033cb7 100644
--- a/doClone.go
+++ b/doClone.go
@@ -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)
+ }
+}