summaryrefslogtreecommitdiffstats
path: root/models/git_diff.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/git_diff.go')
-rw-r--r--models/git_diff.go13
1 files changed, 6 insertions, 7 deletions
diff --git a/models/git_diff.go b/models/git_diff.go
index ac2a5f90d7..a6ea7306d4 100644
--- a/models/git_diff.go
+++ b/models/git_diff.go
@@ -384,13 +384,9 @@ func CutDiffAroundLine(originalDiff io.Reader, line int64, old bool, numbersOfLi
// headers + hunk header
newHunk := make([]string, headerLines)
// transfer existing headers
- for idx, lof := range hunk[:headerLines] {
- newHunk[idx] = lof
- }
+ copy(newHunk, hunk[:headerLines])
// transfer last n lines
- for _, lof := range hunk[len(hunk)-numbersOfLine-1:] {
- newHunk = append(newHunk, lof)
- }
+ newHunk = append(newHunk, hunk[len(hunk)-numbersOfLine-1:]...)
// calculate newBegin, ... by counting lines
for i := len(hunk) - 1; i >= len(hunk)-numbersOfLine; i-- {
switch hunk[i][0] {
@@ -582,7 +578,10 @@ func ParsePatch(maxLines, maxLineCharacters, maxFiles int, reader io.Reader) (*D
diff.Files = append(diff.Files, curFile)
if len(diff.Files) >= maxFiles {
diff.IsIncomplete = true
- io.Copy(ioutil.Discard, reader)
+ _, err := io.Copy(ioutil.Discard, reader)
+ if err != nil {
+ return nil, fmt.Errorf("Copy: %v", err)
+ }
break
}
curFileLinesCount = 0