summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--argv.go1
-rw-r--r--doDev.go11
2 files changed, 12 insertions, 0 deletions
diff --git a/argv.go b/argv.go
index edd8e92..d9b6167 100644
--- a/argv.go
+++ b/argv.go
@@ -89,6 +89,7 @@ type DevCmd struct {
URL string `arg:"--connect" help:"forge url"`
DeleteUser bool `arg:"--delete-user" help:"delete all user branches (checks for safety)"`
Fix bool `arg:"--fix" help:"actually do it"`
+ Prune bool `arg:"--prune" help:"prune"`
}
type CleanCmd struct {
diff --git a/doDev.go b/doDev.go
index 843e4a5..3b23cd7 100644
--- a/doDev.go
+++ b/doDev.go
@@ -17,6 +17,16 @@ var ErrorNeedArgvFix error = errors.New("add --fix")
// FORGE USES THESE TO RECOVER FROM WHEN TOOLKITS FAIL TO LOAD
// so don't delete them
func doDev() (string, error) {
+ if argv.Dev.Prune {
+ // git fetch --prune
+ for repo := range me.forge.Repos.IterByNamespace() {
+ if me.forge.Config.IsReadOnly(repo.Namespace) {
+ continue
+ }
+ repo.RunVerbose([]string{"git", "fetch", "--prune"})
+ }
+ return "", nil
+ }
if argv.Dev.DeleteUser {
found := gitpb.NewRepos()
setForgeMode(forgepb.ForgeMode_MASTER)
@@ -36,6 +46,7 @@ func doDev() (string, error) {
doFixDeleteUserBranches(repo, uremoteref)
}
me.forge.PrintHumanTable(found)
+ return "", nil
}
return "", nil
}