gitparse

package
v3.63.3 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2023 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Commit

type Commit struct {
	Hash    string
	Author  string
	Date    time.Time
	Message strings.Builder
	Diffs   []Diff
	Size    int // in bytes
}

Commit contains commit header info and diffs.

func (*Commit) Equal added in v3.10.4

func (c1 *Commit) Equal(c2 *Commit) bool

Equal compares the content of two Commits to determine if they are the same.

type Diff

type Diff struct {
	PathB     string
	LineStart int
	Content   bytes.Buffer
	IsBinary  bool
}

Diff contains the info about a file diff in a commit.

type Option added in v3.27.0

type Option func(*Parser)

Option is used for adding options to Config.

func WithMaxCommitSize added in v3.27.0

func WithMaxCommitSize(maxCommitSize int) Option

WithMaxCommitSize sets maxCommitSize option. Commits larger than maxCommitSize will be put in the commit channel and additional diffs will be added to a new commit.

func WithMaxDiffSize added in v3.27.0

func WithMaxDiffSize(maxDiffSize int) Option

WithMaxDiffSize sets maxDiffSize option. Diffs larger than maxDiffSize will be truncated.

type ParseState added in v3.45.1

type ParseState int
const (
	Initial ParseState = iota
	CommitLine
	MergeLine
	AuthorLine
	DateLine
	MessageStartLine
	MessageLine
	MessageEndLine
	DiffLine
	ModeLine
	IndexLine
	FromFileLine
	ToFileLine
	BinaryFileLine
	HunkLineNumberLine
	HunkContentLine
	ParseFailure
)

func (ParseState) String added in v3.45.1

func (state ParseState) String() string

type Parser added in v3.27.0

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

Parser sets values used in GitParse.

func NewParser added in v3.27.0

func NewParser(options ...Option) *Parser

NewParser creates a GitParse config from options and sets defaults.

func (*Parser) FromReader added in v3.31.3

func (c *Parser) FromReader(ctx context.Context, stdOut io.Reader, commitChan chan Commit, isStaged bool)

func (*Parser) RepoPath added in v3.27.0

func (c *Parser) RepoPath(ctx context.Context, source string, head string, abbreviatedLog bool, excludedGlobs []string, isBare bool) (chan Commit, error)

RepoPath parses the output of the `git log` command for the `source` path.

func (*Parser) Staged added in v3.43.0

func (c *Parser) Staged(ctx context.Context, source string) (chan Commit, error)

Staged parses the output of the `git diff` command for the `source` path.

Jump to

Keyboard shortcuts

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