]> source.dussan.org Git - gitea.git/commitdiff
Make it compile
authorUnknown <joe2010xtmf@163.com>
Wed, 26 Mar 2014 10:33:09 +0000 (06:33 -0400)
committerUnknown <joe2010xtmf@163.com>
Wed, 26 Mar 2014 10:33:09 +0000 (06:33 -0400)
models/git.go

index 6df8d4ec916a535ba0b77e11b8138b232ca0b136..0f41a922c16ac638eb4ab674c3d64fd24e4edabb 100644 (file)
@@ -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()
                }