gitea: code.gitea.io/gitea/modules/gitgraph Index | Files

package gitgraph

import "code.gitea.io/gitea/modules/gitgraph"

Index

Package Files

graph.go graph_models.go parser.go

Variables

var RelationCommit = &Commit{
    Row: -1,
}

RelationCommit represents an empty relation commit

type Commit Uses

type Commit struct {
    Commit       *git.Commit
    User         *models.User
    Verification *models.CommitVerification
    Status       *models.CommitStatus
    Flow         int64
    Row          int
    Column       int
    Refs         []git.Reference
    Rev          string
    Date         string
    ShortRev     string
    Subject      string
}

Commit represents a commit at co-ordinate X, Y with the data

func NewCommit Uses

func NewCommit(row, column int, line []byte) (*Commit, error)

NewCommit creates a new commit from a provided line

func (*Commit) OnlyRelation Uses

func (c *Commit) OnlyRelation() bool

OnlyRelation returns whether this a relation only commit

type Flow Uses

type Flow struct {
    ID          int64
    ColorNumber int
    Glyphs      []Glyph
    Commits     []*Commit
    MinRow      int
    MinColumn   int
    MaxRow      int
    MaxColumn   int
}

Flow represents a series of glyphs

func NewFlow Uses

func NewFlow(flowID int64, color, row, column int) *Flow

NewFlow creates a new flow

func (*Flow) AddGlyph Uses

func (flow *Flow) AddGlyph(row, column int, glyph byte)

AddGlyph adds glyph at row and column

func (*Flow) Color16 Uses

func (flow *Flow) Color16() int

Color16 wraps the color numbers around mod 16

type Glyph Uses

type Glyph struct {
    Row    int
    Column int
    Glyph  byte
}

Glyph represents a co-ordinate and glyph

type Graph Uses

type Graph struct {
    Flows     map[int64]*Flow
    Commits   []*Commit
    MinRow    int
    MinColumn int
    MaxRow    int
    MaxColumn int
    // contains filtered or unexported fields
}

Graph represents a collection of flows

func GetCommitGraph Uses

func GetCommitGraph(r *git.Repository, page int, maxAllowedColors int, hidePRRefs bool, branches, files []string) (*Graph, error)

GetCommitGraph return a list of commit (GraphItems) from all branches

func NewGraph Uses

func NewGraph() *Graph

NewGraph creates a basic graph

func (*Graph) AddCommit Uses

func (graph *Graph) AddCommit(row, column int, flowID int64, data []byte) error

AddCommit adds a commit at row, column on flowID with the provided data

func (*Graph) AddGlyph Uses

func (graph *Graph) AddGlyph(row, column int, flowID int64, color int, glyph byte)

AddGlyph adds glyph to flows

func (*Graph) Height Uses

func (graph *Graph) Height() int

Height returns the height of the graph

func (*Graph) LoadAndProcessCommits Uses

func (graph *Graph) LoadAndProcessCommits(repository *models.Repository, gitRepo *git.Repository) error

LoadAndProcessCommits will load the git.Commits for each commit in the graph, the associate the commit with the user author, and check the commit verification before finally retrieving the latest status

func (*Graph) Width Uses

func (graph *Graph) Width() int

Width returns the width of the graph

type Parser Uses

type Parser struct {
    // contains filtered or unexported fields
}

Parser represents a git graph parser. It is stateful containing the previous glyphs, detected flows and color assignments.

func (*Parser) AddLineToGraph Uses

func (parser *Parser) AddLineToGraph(graph *Graph, row int, line []byte) error

AddLineToGraph adds the line as a row to the graph

func (*Parser) ParseGlyphs Uses

func (parser *Parser) ParseGlyphs(glyphs []byte)

ParseGlyphs parses the provided glyphs and sets the internal state

func (*Parser) Reset Uses

func (parser *Parser) Reset()

Reset resets the internal parser state.

Package gitgraph imports 10 packages (graph) and is imported by 5 packages. Updated 2021-01-22. Refresh now. Tools for package owners.