diff --git a/argv.go b/argv.go index 2479510..a50a197 100644 --- a/argv.go +++ b/argv.go @@ -62,6 +62,7 @@ type CleanDevelCmd struct { } type PatchCmd struct { + Check *EmptyCmd `arg:"subcommand:check" help:"check the state of the patches"` List *EmptyCmd `arg:"subcommand:list" help:"your downloaded patchsets"` Get *EmptyCmd `arg:"subcommand:get" help:"get the new patchsets"` Show *EmptyCmd `arg:"subcommand:show" help:"your pending commits to your code"` diff --git a/argvAutoshell.go b/argvAutoshell.go index 54b4e88..72c13d3 100644 --- a/argvAutoshell.go +++ b/argvAutoshell.go @@ -50,7 +50,7 @@ func (args) doBashAuto() { case "pull": fmt.Println("dirty clean list patches --force") case "patch": - fmt.Println("get list submit show") + fmt.Println("check get list submit show") case "user": fmt.Println("--force") case "devel": diff --git a/doPatch.go b/doPatch.go index d1ee508..badf5f5 100644 --- a/doPatch.go +++ b/doPatch.go @@ -37,6 +37,21 @@ func doPatch() error { return nil } + if argv.Patch.Check != nil { + for pset := range me.forge.Patchsets.IterAll() { + log.Info(pset.Uuid) + for patch := range pset.Patches.IterAll() { + if repo, ok := me.forge.IsPatchApplied(patch); ok { + log.Info("found patch in repo", repo.Namespace, patch.Filename) + } else { + // log.Info("did not find patch", patch.CommitHash, patch.NewHash, patch.Filename) + } + } + } + // me.forge.Patchsets.PrintTable() + return nil + } + if argv.Patch.List != nil { me.forge.Patchsets.PrintTable() // return doPatchList()