summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-26 06:33:09 -0400
committerUnknown <joe2010xtmf@163.com>2014-03-26 06:33:09 -0400
commitac3a653442b8b6a83561e845cc03c5bc3cefc32b (patch)
treee4e4ab7cd54caa5cd56e80a090ed4c027c7fb6e3
parent3a27a0c1462302c668168e77497339863f3576cc (diff)
downloadgitea-ac3a653442b8b6a83561e845cc03c5bc3cefc32b.tar.gz
gitea-ac3a653442b8b6a83561e845cc03c5bc3cefc32b.zip
Make it compile
-rw-r--r--models/git.go65
1 files changed, 33 insertions, 32 deletions
diff --git a/models/git.go b/models/git.go
index 6df8d4ec91..0f41a922c1 100644
--- a/models/git.go
+++ b/models/git.go
@@ -5,14 +5,14 @@
package models
import (
+ "bufio"
"container/list"
"fmt"
- "path"
- "strings"
"io"
- "bufio"
"os"
"os/exec"
+ "path"
+ "strings"
"github.com/gogits/git"
)
@@ -228,28 +228,29 @@ func GetCommits(userName, reposName, branchname string) (*list.List, error) {
return r.AllCommits()
}
+// Diff line types.
const (
- PlainLine = iota + 1
- AddLine
- DelLine
- SectionLine
+ DIFF_LINE_PLAIN = iota + 1
+ DIFF_LINE_ADD
+ DIFF_LINE_DEL
+ DIFF_LINE_SECTION
)
const (
- AddFile = iota + 1
- ChangeFile
- DelFile
+ DIFF_FILE_ADD = iota + 1
+ DIFF_FILE_CHANGE
+ DIFF_FILE_DEL
)
type DiffLine struct {
- LeftIdx int
+ LeftIdx int
RightIdx int
- Type int
- Content string
+ Type int
+ Content string
}
type DiffSection struct {
- Name string
+ Name string
Lines []*DiffLine
}
@@ -257,7 +258,7 @@ type DiffFile struct {
Name string
Addition, Deletion int
Type int
- Sections []*DiffSection
+ Sections []*DiffSection
}
type Diff struct {
@@ -269,15 +270,17 @@ func (diff *Diff) NumFiles() int {
return len(diff.Files)
}
-const diffHead = "diff --git "
+const DIFF_HEAD = "diff --git "
func ParsePatch(reader io.Reader) (*Diff, error) {
scanner := bufio.NewScanner(reader)
var totalAdd, totalDel int
var curFile *DiffFile
- var curSection * DiffSection
+ curSection := &DiffSection{
+ Lines: make([]*DiffLine, 0, 10),
+ }
//var leftLine, rightLine int
- diff := &Diff{Files:make([]*DiffFile, 0)}
+ diff := &Diff{Files: make([]*DiffFile, 0)}
var i int
for scanner.Scan() {
line := scanner.Text()
@@ -287,50 +290,48 @@ func ParsePatch(reader io.Reader) (*Diff, error) {
continue
}
if line[0] == ' ' {
- diffLine := &DiffLine{Type: PlainLine, Content:line}
+ diffLine := &DiffLine{Type: DIFF_LINE_PLAIN, Content: line}
curSection.Lines = append(curSection.Lines, diffLine)
continue
} else if line[0] == '@' {
curSection = &DiffSection{}
curFile.Sections = append(curFile.Sections, curSection)
ss := strings.Split(line, "@@")
- diffLine := &DiffLine{Type: SectionLine, Content:"@@ "+ss[len(ss)-2]}
+ diffLine := &DiffLine{Type: DIFF_LINE_SECTION, Content: "@@" + ss[len(ss)-2] + "@@"}
curSection.Lines = append(curSection.Lines, diffLine)
-
-
- diffLine = &DiffLine{Type: PlainLine, Content:ss[len(ss)-1]}
+ diffLine = &DiffLine{Type: DIFF_LINE_PLAIN, Content: ss[len(ss)-1]}
curSection.Lines = append(curSection.Lines, diffLine)
continue
} else if line[0] == '+' {
- diffLine := &DiffLine{Type: AddLine, Content:line}
+ diffLine := &DiffLine{Type: DIFF_LINE_ADD, Content: line}
curSection.Lines = append(curSection.Lines, diffLine)
continue
} else if line[0] == '-' {
- diffLine := &DiffLine{Type: DelLine, Content:line}
+ diffLine := &DiffLine{Type: DIFF_LINE_DEL, Content: line}
curSection.Lines = append(curSection.Lines, diffLine)
continue
}
- if strings.HasPrefix(line, diffHead) {
+ if strings.HasPrefix(line, DIFF_HEAD) {
if curFile != nil {
curFile.Addition, totalAdd = totalAdd, 0
curFile.Deletion, totalDel = totalDel, 0
curFile = nil
}
- fs := strings.Split(line[len(diffHead):], " ")
+ fs := strings.Split(line[len(DIFF_HEAD):], " ")
a := fs[0]
-
+
curFile = &DiffFile{
- Name:a[strings.Index(a, "/")+1:],
- Type: ChangeFile,
- Sections:make([]*DiffSection, 0),
+ Name: a[strings.Index(a, "/")+1:],
+ Type: DIFF_FILE_CHANGE,
+ Sections: make([]*DiffSection, 0),
}
diff.Files = append(diff.Files, curFile)
scanner.Scan()
scanner.Scan()
if scanner.Text() == "--- /dev/null" {
- curFile.Type = AddFile
+ curFile.Type = DIFF_FILE_ADD
}
scanner.Scan()
}