diff options
Diffstat (limited to 'models/graph.go')
-rw-r--r-- | models/graph.go | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/models/graph.go b/models/graph.go deleted file mode 100644 index 0efb51b3fc..0000000000 --- a/models/graph.go +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2016 The Gitea Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package models - -import ( - "fmt" - "strings" - - "code.gitea.io/gitea/modules/git" - "code.gitea.io/gitea/modules/setting" -) - -// GraphItem represent one commit, or one relation in timeline -type GraphItem struct { - GraphAcii string - Relation string - Branch string - Rev string - Date string - Author string - AuthorEmail string - ShortRev string - Subject string - OnlyRelation bool -} - -// GraphItems is a list of commits from all branches -type GraphItems []GraphItem - -// GetCommitGraph return a list of commit (GraphItems) from all branches -func GetCommitGraph(r *git.Repository, page int) (GraphItems, error) { - - var CommitGraph []GraphItem - - format := "DATA:|%d|%H|%ad|%an|%ae|%h|%s" - - graphCmd := git.NewCommand("log") - graphCmd.AddArguments("--graph", - "--date-order", - "--all", - "-C", - "-M", - fmt.Sprintf("-n %d", setting.UI.GraphMaxCommitNum), - fmt.Sprintf("--skip=%d", setting.UI.GraphMaxCommitNum*(page-1)), - "--date=iso", - fmt.Sprintf("--pretty=format:%s", format), - ) - graph, err := graphCmd.RunInDir(r.Path) - if err != nil { - return CommitGraph, err - } - - CommitGraph = make([]GraphItem, 0, 100) - for _, s := range strings.Split(graph, "\n") { - GraphItem, err := graphItemFromString(s, r) - if err != nil { - return CommitGraph, err - } - CommitGraph = append(CommitGraph, GraphItem) - } - - return CommitGraph, nil -} - -func graphItemFromString(s string, r *git.Repository) (GraphItem, error) { - - var ascii string - var data = "|||||||" - lines := strings.SplitN(s, "DATA:", 2) - - switch len(lines) { - case 1: - ascii = lines[0] - case 2: - ascii = lines[0] - data = lines[1] - default: - return GraphItem{}, fmt.Errorf("Failed parsing grap line:%s. Expect 1 or two fields", s) - } - - rows := strings.SplitN(data, "|", 8) - if len(rows) < 8 { - return GraphItem{}, fmt.Errorf("Failed parsing grap line:%s - Should containt 8 datafields", s) - } - - /* // see format in getCommitGraph() - 0 Relation string - 1 Branch string - 2 Rev string - 3 Date string - 4 Author string - 5 AuthorEmail string - 6 ShortRev string - 7 Subject string - */ - gi := GraphItem{ascii, - rows[0], - rows[1], - rows[2], - rows[3], - rows[4], - rows[5], - rows[6], - rows[7], - len(rows[2]) == 0, // no commits referred to, only relation in current line. - } - return gi, nil -} |