gitgraph

package
v1.21.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2024 License: MIT Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

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

RelationCommit represents an empty relation commit

Functions

This section is empty.

Types

type Commit added in v1.13.0

type Commit struct {
	Commit       *git.Commit
	User         *user_model.User
	Verification *asymkey_model.CommitVerification
	Status       *git_model.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 added in v1.13.0

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

NewCommit creates a new commit from a provided line

func (*Commit) OnlyRelation added in v1.13.0

func (c *Commit) OnlyRelation() bool

OnlyRelation returns whether this a relation only commit

type Flow added in v1.13.0

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 added in v1.13.0

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

NewFlow creates a new flow

func (*Flow) AddGlyph added in v1.13.0

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

AddGlyph adds glyph at row and column

func (*Flow) Color16 added in v1.13.0

func (flow *Flow) Color16() int

Color16 wraps the color numbers around mod 16

type Glyph added in v1.13.0

type Glyph struct {
	Row    int
	Column int
	Glyph  byte
}

Glyph represents a co-ordinate and glyph

type Graph added in v1.13.0

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

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

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

func NewGraph added in v1.13.0

func NewGraph() *Graph

NewGraph creates a basic graph

func (*Graph) AddCommit added in v1.13.0

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 added in v1.13.0

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

AddGlyph adds glyph to flows

func (*Graph) Height added in v1.13.0

func (graph *Graph) Height() int

Height returns the height of the graph

func (*Graph) LoadAndProcessCommits added in v1.14.0

func (graph *Graph) LoadAndProcessCommits(ctx context.Context, repository *repo_model.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 added in v1.13.0

func (graph *Graph) Width() int

Width returns the width of the graph

type Parser added in v1.13.0

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 added in v1.13.0

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

AddLineToGraph adds the line as a row to the graph

func (*Parser) ParseGlyphs added in v1.13.0

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

ParseGlyphs parses the provided glyphs and sets the internal state

func (*Parser) Reset added in v1.13.0

func (parser *Parser) Reset()

Reset resets the internal parser state.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL