diff options
| author | Jeff Carr <[email protected]> | 2025-09-12 14:52:05 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-12 14:52:05 -0500 |
| commit | b5df8f2dad9ea63bffb4f2528937727c8f6dde12 (patch) | |
| tree | a07268f384040fc5a2bfb4e4d527e78e62996fe3 | |
| parent | 7c520aae88c78c9b12610e5cbd7a968844b2ca6a (diff) | |
add delete tagv0.25.4
| -rw-r--r-- | doTag.go | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -6,18 +6,57 @@ package main // checks that repos are in a "normal" state import ( + "os" "time" + "go.wit.com/lib/fhelp" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) +func FindRepoByFullPath(wd string) *gitpb.Repo { + for repo := range me.forge.Repos.IterAll() { + if repo.FullPath == wd { + return repo + } + } + return nil +} + func doTag() error { if argv.Tag.List != nil { log.Info("list tags here") return nil } + if argv.Tag.Delete != "" { + wd, _ := os.Getwd() + + repo := FindRepoByFullPath(wd) + if repo == nil { + log.Info("Could not find repo:", wd) + return nil + } + + // check if the git tag already exists somehow + testtag := argv.Tag.Delete + if !repo.LocalTagExists(testtag) { + log.Info("Tag", testtag, "does not exist") + return log.Errorf("%s TAG DOES NOT EXIST %s", repo.FullPath, testtag) + } + if !argv.Force { + if !fhelp.QuestionUser("delete this tag?") { + return nil + } + } + log.Info("Delete tag here", testtag) + + // delete local and remote tag + repo.RunVerbose([]string{"git", "tag", "--delete", testtag}) + repo.RunVerbose([]string{"git", "push", "--delete", "origin", testtag}) + return nil + } + ns := "go.wit.com/apps/forge" repo := me.forge.Repos.FindByNamespace(ns) if repo == nil { |
