git

package
v1.11.13 Latest Latest
Warning

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

Go to latest
Published: May 16, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LFSRequiredFile = ".lfs-required"
	LFSConfigFile   = ".lfsconfig"
)
View Source
const (
	Nil         string = ""
	Merge       string = "merge"
	MergeCommit string = "merge-commit"
	Rebase      string = "rebase"
)

Variables

This section is empty.

Functions

func IsLFSAvailable added in v1.1.0

func IsLFSAvailable() bool

IsLFSAvailable returns 'true' if git-lfs is installed.

func IsLFSHook added in v1.1.0

func IsLFSHook(hookName string) bool

IsLFSHook returns whether the hookName is supported by Git LFS.

func ResetState added in v1.7.22

func ResetState()

Types

type CommandExecutor added in v1.6.9

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

CommandExecutor provides some methods that take some effect on execution and/or result data.

func NewExecutor added in v1.6.9

func NewExecutor(cmd system.Command) *CommandExecutor

NewExecutor returns an object that executes given commands in the OS.

func (CommandExecutor) BatchedCmd added in v1.6.9

func (c CommandExecutor) BatchedCmd(cmd []string, args []string) (string, error)

BatchedCmd runs the command with any number of appended arguments batched in chunks to match the OS limits.

func (CommandExecutor) Cmd added in v1.6.9

func (c CommandExecutor) Cmd(cmd []string) (string, error)

Cmd runs plain string command. Trims spaces around output.

func (CommandExecutor) CmdLines added in v1.6.9

func (c CommandExecutor) CmdLines(cmd []string) ([]string, error)

CmdLines runs plain string command, returns its output split by newline.

func (CommandExecutor) CmdLinesWithinFolder added in v1.6.9

func (c CommandExecutor) CmdLinesWithinFolder(cmd []string, folder string) ([]string, error)

CmdLines runs plain string command, returns its output split by newline.

func (CommandExecutor) OnlyDebugLogs added in v1.11.7

func (c CommandExecutor) OnlyDebugLogs() CommandExecutor

func (CommandExecutor) WithoutEnvs added in v1.11.2

func (c CommandExecutor) WithoutEnvs(envs ...string) CommandExecutor

type Repository

type Repository struct {
	Fs        afero.Fs
	Git       *CommandExecutor
	HooksPath string
	RootPath  string
	GitPath   string
	InfoPath  string
	// contains filtered or unexported fields
}

Repository represents a git repository.

func NewRepository

func NewRepository(fs afero.Fs, git *CommandExecutor) (*Repository, error)

NewRepository returns a Repository or an error, if git repository it not initialized.

func (*Repository) AddFiles added in v1.3.5

func (r *Repository) AddFiles(files []string) error

func (*Repository) AllFiles

func (r *Repository) AllFiles() ([]string, error)

StagedFiles returns a list of all files in repository.

func (*Repository) Branch added in v1.2.2

func (r *Repository) Branch() string

func (*Repository) DropUnstagedStash added in v1.3.0

func (r *Repository) DropUnstagedStash() error

func (*Repository) FindAllFiles added in v1.10.4

func (r *Repository) FindAllFiles(command []string, folder string) ([]string, error)

FindAllFiles accepts git command and returns its result as a list of filepaths.

func (*Repository) FindExistingFiles added in v1.10.4

func (r *Repository) FindExistingFiles(command []string, folder string) ([]string, error)

FindExistingFiles accepts git command and returns its result as a list of filepaths.

func (*Repository) HideUnstaged added in v1.3.0

func (r *Repository) HideUnstaged(files []string) error

func (*Repository) PartiallyStagedFiles added in v1.3.0

func (r *Repository) PartiallyStagedFiles() ([]string, error)

PartiallyStagedFiles returns the list of files that have both staged and unstaged changes. See https://git-scm.com/docs/git-status#_short_format.

func (*Repository) Precompute added in v1.11.0

func (r *Repository) Precompute() func()

Precompute runs various Git commands in the background so the results are ready. This returns a function which can be used to wait for the result. This should be invoked to ensure we're not holding any locks on the Git repository.

func (*Repository) PushFiles

func (r *Repository) PushFiles() ([]string, error)

PushFiles returns a list of files that are ready to be pushed.

func (*Repository) RemoteFolder added in v1.2.0

func (r *Repository) RemoteFolder(url string, ref string) string

RemoteFolder returns the path to the folder where the remote repository is located.

func (*Repository) RemotesFolder added in v1.2.0

func (r *Repository) RemotesFolder() string

RemotesFolder returns the path to the lefthook remotes folder.

func (*Repository) RestoreUnstaged added in v1.3.0

func (r *Repository) RestoreUnstaged() error

func (*Repository) SaveUnstaged added in v1.3.0

func (r *Repository) SaveUnstaged(files []string) error

func (*Repository) Setup added in v1.11.0

func (r *Repository) Setup()

Setup must be called after you've constructed a Repository directly. It's not necessary to invoke if you've used NewRepository.

This can also be called multiple times to reset the cache.

func (*Repository) StagedFiles

func (r *Repository) StagedFiles() ([]string, error)

StagedFiles returns a list of staged files which exist on file system.

func (*Repository) StagedFilesWithDeleted added in v1.10.4

func (r *Repository) StagedFilesWithDeleted() ([]string, error)

StagedFilesWithDeleted returns a list of staged files with deleted files.

func (*Repository) StashUnstaged added in v1.3.0

func (r *Repository) StashUnstaged() error

func (*Repository) State

func (r *Repository) State() State

func (*Repository) SyncRemote added in v1.2.0

func (r *Repository) SyncRemote(url, ref string, force bool) error

SyncRemote clones or pulls the latest changes for a git repository that was specified as a remote config repository. If successful, the path to the root of the repository will be returned.

type State

type State struct {
	Branch, State string
}

Jump to

Keyboard shortcuts

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