git

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2026 License: BSD-2-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidPath = stderrors.New("invalid path")

ErrInvalidPath is returned when the requested path fails validation.

View Source
var ErrNotFound = stderrors.New("file not found")

ErrNotFound is returned when a requested file does not exist in the repository.

Functions

This section is empty.

Types

type Git

type Git interface {
	WriteFile(ctx context.Context, path string, content []byte) error
	DeleteFile(ctx context.Context, path string) error
	ReadFile(ctx context.Context, path string) ([]byte, error)
	ListFiles(ctx context.Context, pattern string) ([]string, error)
	Pull(ctx context.Context) error
	Status(ctx context.Context) (Status, error)
}

Git abstracts all git shell operations on a local repository.

func New

func New(
	repoPath string,
	m metrics.Metrics,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
	sshKeyPath SSHKeyPath,
) Git

New returns a Git implementation backed by the system git binary for the given repository path.

type SSHKeyPath added in v0.8.0

type SSHKeyPath string

SSHKeyPath is the path to an SSH private key used for git operations.

type Status

type Status struct {
	// Clean is true when the working tree has no uncommitted changes.
	Clean bool
	// NoPushPending is true when there are no commits ahead of the remote.
	NoPushPending bool
}

Status represents the current state of the git working tree.

Jump to

Keyboard shortcuts

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