aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/email/patch.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/email/patch.go')
-rw-r--r--pkg/email/patch.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkg/email/patch.go b/pkg/email/patch.go
index 8af5e1b79..81ea9b26c 100644
--- a/pkg/email/patch.go
+++ b/pkg/email/patch.go
@@ -21,18 +21,22 @@ func ParsePatch(message []byte) (diff string) {
continue
}
if diffStarted {
- if ln == "" || ln == "--" || ln == "-- " || ln[0] == '>' {
+ if ln == "--" || ln == "-- " || ln != "" && ln[0] == '>' {
diffStarted = false
continue
}
- if strings.HasPrefix(ln, " ") || strings.HasPrefix(ln, "+") ||
+ if ln == "" || strings.HasPrefix(ln, " ") || strings.HasPrefix(ln, "+") ||
strings.HasPrefix(ln, "-") || strings.HasPrefix(ln, "@") ||
strings.HasPrefix(ln, "================") {
diff += ln + "\n"
continue
}
+ diffStarted = false
}
}
+ if diff != "" {
+ diff = strings.TrimRight(diff, "\n") + "\n"
+ }
err := s.Err()
if err == bufio.ErrTooLong {
// It's a problem of the incoming patch, rather than anything else.