gitparse

package
v3.76.0 Latest Latest
Warning

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

Go to latest
Published: May 14, 2024 License: AGPL-3.0 Imports: 15 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
	Committer string
	Date      time.Time
	Message   strings.Builder
	Size      int // in bytes
	// contains filtered or unexported fields
}

Commit contains commit header info and diffs.

type Diff

type Diff struct {
	PathB     string
	LineStart int
	IsBinary  bool

	Commit *Commit
	// contains filtered or unexported fields
}

Diff contains the information about a file diff in a commit. It abstracts the underlying content representation, allowing for flexible handling of diff content. The use of contentWriter enables the management of diff data either in memory or on disk, based on its size, optimizing resource usage and performance.

func (*Diff) Len added in v3.66.2

func (d *Diff) Len() int

Len returns the length of the storage.

func (*Diff) ReadCloser added in v3.66.2

func (d *Diff) ReadCloser() (io.ReadCloser, error)

ReadCloser returns a ReadCloser for the contentWriter.

type Option added in v3.27.0

type Option func(*Parser)

Option is used for adding options to Config.

func UseCustomContentWriter added in v3.67.2

func UseCustomContentWriter() Option

UseCustomContentWriter sets useCustomContentWriter option.

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
	AuthorDateLine
	CommitterLine
	CommitterDateLine
	MessageStartLine
	MessageLine
	MessageEndLine
	NotesStartLine
	NotesLine
	NotesEndLine
	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, diffChan chan *Diff, 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 *Diff, error)

RepoPath parses the output of the `git log` command for the `source` path. The Diff chan will return diffs in the order they are parsed from the log.

func (*Parser) Staged added in v3.43.0

func (c *Parser) Staged(ctx context.Context, source string) (chan *Diff, 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