summaryrefslogtreecommitdiff
path: root/doPatch.go
diff options
context:
space:
mode:
Diffstat (limited to 'doPatch.go')
-rw-r--r--doPatch.go87
1 files changed, 53 insertions, 34 deletions
diff --git a/doPatch.go b/doPatch.go
index b13bd82..093ba24 100644
--- a/doPatch.go
+++ b/doPatch.go
@@ -101,21 +101,24 @@ func doPatch() error {
if argv.Patch.List != nil {
var changed bool
- newpatches := forgepb.NewPatches()
+ newpatches := new(forgepb.Set)
+ newpatches.Patches = forgepb.NewPatches()
for pset := range me.forge.Patchsets.IterAll() {
pset.PrintTable()
for patch := range pset.Patches.IterAll() {
- if err := setNewCommitHash(patch); err != nil {
- log.Infof("%s bad check on patch failure %v\n", patch.Filename, err)
- return err
- }
changed = true
- if patch.NewHash == "" {
- if newpatches.AppendByPatchId(patch) {
+ if patch.NewHash == "" || patch.NewHash == "na" {
+ if newpatches.Patches.AppendByPatchId(patch) {
log.Info("patchId added here", patch.PatchId)
} else {
log.Info("patchId already here", patch.PatchId)
}
+ } else {
+ if err := setNewCommitHash(patch); err != nil {
+ log.Infof("%s bad check on patch failure %v\n", patch.Filename, err)
+ return err
+ }
+ log.Info("newhash set already here", patch.PatchId, patch.NewHash)
}
}
}
@@ -124,38 +127,54 @@ func doPatch() error {
log.Warn("savePatchsets() failed", err)
}
}
+ log.Info("NEW PATCHES TABLE")
newpatches.PrintTable()
- if newpatches.Len() != 0 {
- for patch := range newpatches.IterAll() {
- log.Info("new patch:", patch.CommitHash, patch.NewHash, patch.Filename)
- repo := me.forge.FindByGoPath(patch.Namespace)
- if repo == nil {
- log.Info("\tCould not find namespace:", patch.Namespace)
- continue
- }
- if fhelp.QuestionUser("apply this patch?") {
- newhash, err := applyAndTrackPatch(repo, patch)
- log.Info("apply results:", newhash, err)
- }
+ for patch := range newpatches.Patches.IterAll() {
+ if err := setNewCommitHash(patch); err == nil {
+ log.Info("newhash set already here", patch.PatchId, patch.NewHash)
+ continue
+ }
+ log.Infof("%s is new\n", patch.Filename)
+ repo := me.forge.FindByGoPath(patch.Namespace)
+ if repo == nil {
+ log.Info("\tCould not find namespace:", patch.Namespace)
+ continue
+ }
+ if fhelp.QuestionUser("apply this patch?") {
+ newhash, err := applyAndTrackPatch(repo, patch)
+ log.Info("apply results:", newhash, err)
}
- return log.Errorf("patches need to be applied")
}
+ return nil
+ /*
+ if newpatches.Len() != 0 {
+ for patch := range newpatches.IterAll() {
+ log.Info("new patch:", patch.CommitHash, patch.NewHash, patch.Filename)
+ repo := me.forge.FindByGoPath(patch.Namespace)
+ if repo == nil {
+ log.Info("\tCould not find namespace:", patch.Namespace)
+ continue
+ }
+ }
+ return log.Errorf("patches need to be applied")
+ }
- // return doPatchList()
- applied := findApplied()
- if applied == nil || applied.Len() == 0 {
- log.Info("no patches have been appled to the devel branch yet")
+ // return doPatchList()
+ applied := findApplied()
+ if applied == nil || applied.Len() == 0 {
+ log.Info("no patches have been appled to the devel branch yet")
+ return nil
+ }
+ // for patch := range applied.IterAll() {
+ // log.Info("SEND APPLIED: newhash:", patch.NewHash, "commithash:", patch.CommitHash, "patch", patch.Namespace)
+ // }
+ newpb, _, err := applied.HttpPostVerbose(myServer(), "applied")
+ if err != nil {
+ return err
+ }
+ newpb.PrintTable()
return nil
- }
- // for patch := range applied.IterAll() {
- // log.Info("SEND APPLIED: newhash:", patch.NewHash, "commithash:", patch.CommitHash, "patch", patch.Namespace)
- // }
- newpb, _, err := applied.HttpPostVerbose(myServer(), "applied")
- if err != nil {
- return err
- }
- newpb.PrintTable()
- return nil
+ */
}
// if nothing, show patches & dirty repos