diff options
Diffstat (limited to 'pkg/email/patch.go')
| -rw-r--r-- | pkg/email/patch.go | 8 |
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. |
