|
|
|
@ -86,7 +86,6 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
leftLine, rightLine int |
|
|
|
|
isTooLong bool |
|
|
|
|
// FIXME: Should use cache in the future.
|
|
|
|
|
buf bytes.Buffer |
|
|
|
|
) |
|
|
|
@ -107,9 +106,10 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff |
|
|
|
|
i = i + 1 |
|
|
|
|
|
|
|
|
|
// Diff data too large, we only show the first about maxlines lines
|
|
|
|
|
if i == maxlines { |
|
|
|
|
isTooLong = true |
|
|
|
|
if i >= maxlines { |
|
|
|
|
log.Warn("Diff data too large") |
|
|
|
|
diff.Files = nil |
|
|
|
|
return diff, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
switch { |
|
|
|
@ -120,10 +120,6 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff |
|
|
|
|
curSection.Lines = append(curSection.Lines, diffLine) |
|
|
|
|
continue |
|
|
|
|
case line[0] == '@': |
|
|
|
|
if isTooLong { |
|
|
|
|
break |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
curSection = &DiffSection{} |
|
|
|
|
curFile.Sections = append(curFile.Sections, curSection) |
|
|
|
|
ss := strings.Split(line, "@@") |
|
|
|
@ -162,10 +158,6 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff |
|
|
|
|
|
|
|
|
|
// Get new file.
|
|
|
|
|
if strings.HasPrefix(line, DIFF_HEAD) { |
|
|
|
|
if isTooLong { |
|
|
|
|
break |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
beg := len(DIFF_HEAD) |
|
|
|
|
a := line[beg : (len(line)-beg)/2+beg] |
|
|
|
|
|
|
|
|
|