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 | |
| parent | 17565a9f7ec9023856f7ce977b238c9eda91c18a (diff) | |
repomap handling
| -rw-r--r-- | argv.go | 6 | ||||
| -rw-r--r-- | doClone.go | 44 | ||||
| -rw-r--r-- | resources/repomap | 10 |
3 files changed, 50 insertions, 10 deletions
@@ -50,8 +50,10 @@ type DebianCmd struct { } type CloneCmd struct { - DryRun bool `arg:"--dry-run" help:"show what has not yet come to pass"` - Verbose bool `arg:"--verbose" help:"be loud about it"` + Check *EmptyCmd `arg:"subcommand:check" help:"check urls against the repomap"` + Repomap *EmptyCmd `arg:"subcommand:repomap" help:"make updated repomap"` + DryRun bool `arg:"--dry-run" help:"show what has not yet come to pass"` + Verbose bool `arg:"--verbose" help:"be loud about it"` } type UpgradeCmd struct { @@ -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) + } +} diff --git a/resources/repomap b/resources/repomap index 18a29cb..98b5505 100644 --- a/resources/repomap +++ b/resources/repomap @@ -13,7 +13,7 @@ go.wit.com/apps/go-deb gitea.wit.com/jcarr/go-deb Turns anything into a .deb pac go.wit.com/apps/virtigo gitea.wit.com/jcarr/virtigo control your homelab cluster (pre-alpha) go.wit.com/apps/go-mod-clean gitea.wit.com/jcarr/go-mod-clean clean go.mod and go.sum files before publishing go.wit.com/apps/argv github.com/alexflint/argv shell autocomplete -go.wit.com/apps/autotypist gitea.wit.com/jcarr/autotypist +# go.wit.com/apps/autotypist gitea.wit.com/jcarr/autotypist go.wit.com/apps/control-panel-dns gitea.wit.com/jcarr/control-panel-dns go.wit.com/apps/networkQuality github.com/wit-go/networkQuality go.wit.com/apps/regex gitea.wit.com/jcarr/regex @@ -65,7 +65,7 @@ go.wit.com/lib/daemons/virtigod gitea.wit.com/jcarr/virtigod the virtigo hypervi go.wit.com/lib/daemons/zood gitea.wit.com/jcarr/zood a simple daemon for zookeeper go.wit.com/lib/daemons/gus gitea.wit.com/jcarr/gus "Phantastic Gus" your network squirrel go.wit.com/lib/libgit2 gitea.wit.com/jcarr/git2go -go.wit.com/lib/libme gitea.wit.com/jcarr/libme +# go.wit.com/lib/libme gitea.wit.com/jcarr/libme go.wit.com/lib/libgit2go gitea.wit.com/jcarr/git2go fixed for libgit2 v1.9 (works on debian sid) go.wit.com/lib/fhelp gitea.wit.com/jcarr/fhelp go.wit.com/lib/http/ginpb gitea.wit.com/jcarr/ginpb @@ -82,7 +82,7 @@ go.wit.com/lib/protobuf/httppb gitea.wit.com/jcarr/httppb protobuf for http head go.wit.com/lib/protobuf/gitpb gitea.wit.com/jcarr/gitpb protobuf for git repos go.wit.com/lib/protobuf/guipb gitea.wit.com/jcarr/guipb protobuf for the GUI toolkits go.wit.com/lib/protobuf/virtpb gitea.wit.com/jcarr/virtpb protobuf for virtigo -go.wit.com/lib/protobuf/witpb gitea.wit.com/wit/witProtobuf +# go.wit.com/lib/protobuf/witpb gitea.wit.com/wit/witProtobuf go.wit.com/lib/protobuf/zoopb gitea.wit.com/jcarr/zoopb protobuf for zookeeper # Support packages (forked for experiments) @@ -90,10 +90,10 @@ go.wit.com/lib/protobuf/zoopb gitea.wit.com/jcarr/zoopb protobuf for zookeeper go.wit.com/dev/alexflint/arg gitea.wit.com/jcarr/go-arg slight minor modifications to 'go-arg' go.wit.com/dev/alexflint/scalar gitea.wit.com/jcarr/go-scalar go.wit.com/dev/andlabs/ui gitea.wit.com/interesting/andlabs-ui attempts to add RiscV support -go.wit.com/dev/andlabs/libui gitea.wit.com/interesting/libui +# go.wit.com/dev/andlabs/libui gitea.wit.com/interesting/libui go.wit.com/dev/davecgh/spew gitea.wit.com/jcarr/go-spew go.wit.com/dev/posener/complete gitea.wit.com/interesting/complete -go.wit.com/dev/test/gogit3 gitea.wit.com/jcarr/gogit2 +# go.wit.com/dev/test/gogit3 gitea.wit.com/jcarr/gogit2 # debian package instructions: |
