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 {  | 
