summaryrefslogtreecommitdiff
path: root/doPatch.go
diff options
context:
space:
mode:
Diffstat (limited to 'doPatch.go')
-rw-r--r--doPatch.go23
1 files changed, 11 insertions, 12 deletions
diff --git a/doPatch.go b/doPatch.go
index ff9f8fb..0805f8d 100644
--- a/doPatch.go
+++ b/doPatch.go
@@ -88,9 +88,10 @@ func doPatchList() (string, error) {
}
newId, newHash, err := isPatchIdApplied(repo, patch)
if errors.Is(err, ErrorGitPullOnDirty) {
+ log.Info(patch.PatchId, newId, repo.Namespace, "repo dirty", patch.Comment)
// log.Info("a patch with that comment couldn't be found in the repo")
} else if err != nil {
- log.Info("err", patch.PatchId, patch.Namespace, patch.Comment, err)
+ log.Info(patch.PatchId, newId, repo.Namespace, err, patch.Comment)
return "isPatchIdApplied() error", patch.Error(err)
}
if newId == "" {
@@ -98,17 +99,17 @@ func doPatchList() (string, error) {
// log.Info(patch.PatchId, "newId==''", patch.Comment)
} else {
if (newId == patch.PatchId) && (newHash == patch.CommitHash) {
- log.Info(patch.PatchId, newId, "patch made here", patch.Comment)
+ log.Info(patch.PatchId, newId, repo.Namespace, "patch made here", patch.Comment)
patch.NewHash = "author"
continue
}
if newId == patch.PatchId {
patch.NewHash = patch.CommitHash
- log.Info(patch.PatchId, newId, "patch already applied", patch.Comment)
+ log.Info(patch.PatchId, newId, repo.Namespace, "patch already applied", patch.Comment)
continue
}
if newId != patch.PatchId {
- log.Info(patch.PatchId, newId, "probably duplicate subject? (mismatch)", patch.Comment)
+ log.Info(patch.PatchId, newId, repo.Namespace, "probably duplicate subject? (mismatch)", patch.Comment)
// try this. it should compute every patch id in the repo
// os.Chdir(repo.FullPath)
// newNewId, err := searchAllCommits(targetPatchID string) (string, error) {
@@ -224,7 +225,7 @@ func isPatchIdApplied(repo *gitpb.Repo, patch *forgepb.Patch) (string, string, e
os.Chdir(repo.GetFullPath())
newhash, err := findCommitBySubject(repo, comment, patch)
if err != nil {
- return "", "", ErrorGitPullOnDirty
+ return "", "", err
}
patchId, err := repo.FindPatchIdByHash(newhash)
@@ -267,14 +268,12 @@ func cleanSubject(line string) string {
return strings.TrimSpace(cleaned)
}
-// jcarr@framebook:~/go/src/go.wit.com/lib/protobuf/forgepb$ git branch --contains 4a27e7702b9b975b066ec9d2ee7ac932d86552e3
-// * jcarr
-// jcarr@framebook:~/go/src/go.wit.com/lib/protobuf/forgepb$ git merge-base --is-ancestor "4a27e7702b9b975b066ec9d2ee7ac932d86552e3" "devel" ; echo $?
-// 1
-// jcarr@framebook:~/go/src/go.wit.com/lib/protobuf/forgepb$ git merge-base --is-ancestor "4a27e7702b9b975b066ec9d2ee7ac932d86552e3" "jcarr" ; echo $?
-// 0
-
func findCommitBySubject(repo *gitpb.Repo, subject string, newpatch *forgepb.Patch) (string, error) {
+ parts := strings.Split(subject, " /")
+ subject = parts[0]
+ if subject == "" {
+ return "", errors.New("subject blank. must brute force")
+ }
cmd := exec.Command("git", "log", "--pretty=format:%H %s", "--grep="+subject, "-i")
var out bytes.Buffer
cmd.Stdout = &out