true_git

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2021 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MinGitVersionConstraintValue = "2.18"
)

Variables

View Source
var (
	ForbiddenGitVersionsConstraintValues = []string{"2.22.0"}
)

Functions

func Archive

func Archive(ctx context.Context, out io.Writer, gitDir, workTreeCacheDir string, opts ArchiveOptions) error

func ArchiveWithSubmodules

func ArchiveWithSubmodules(ctx context.Context, out io.Writer, gitDir, workTreeCacheDir string, opts ArchiveOptions) error

func CreateDetachedMergeCommit

func CreateDetachedMergeCommit(ctx context.Context, gitDir, workTreeCacheDir, commitToMerge, mergeIntoCommit string, opts CreateDetachedMergeCommitOptions) (string, error)

func Fetch

func Fetch(ctx context.Context, path string, options FetchOptions) error

func GitOpenWithCustomWorktreeDir

func GitOpenWithCustomWorktreeDir(gitDir, worktreeDir string) (*git.Repository, error)

func Init

func Init(opts Options) error

func IsAncestor

func IsAncestor(ancestorCommit, descendantCommit string, gitDir string) (bool, error)

func IsShallowClone

func IsShallowClone(path string) (bool, error)

func IsValidGitDir added in v1.2.5

func IsValidGitDir(gitDir string) (bool, error)

func IsValidWorkTree added in v1.2.5

func IsValidWorkTree(workTree string) (bool, error)

func ResolveRepoDir added in v1.2.5

func ResolveRepoDir(repoDir string) (string, error)

func SetCommandRecordingLiveOutput added in v1.2.8

func SetCommandRecordingLiveOutput(ctx context.Context, cmd *exec.Cmd) *bytes.Buffer

func SyncSourceWorktreeWithServiceBranch added in v1.2.13

func SyncSourceWorktreeWithServiceBranch(ctx context.Context, gitDir, sourceWorktreeDir, worktreeCacheDir, commit string, opts SyncSourceWorktreeWithServiceBranchOptions) (string, error)

func UpwardLookupAndVerifyWorkTree added in v1.2.5

func UpwardLookupAndVerifyWorkTree(lookupPath string) (bool, string, error)

func WithWorkTree

func WithWorkTree(ctx context.Context, gitDir, workTreeCacheDir string, commit string, opts WithWorkTreeOptions, f func(workTreeDir string) error) error

Types

type ArchiveOptions

type ArchiveOptions struct {
	Commit      string
	PathScope   string // Determines the directory that will get into the result (similar to <pathspec> in the git commands).
	PathMatcher path_matcher.PathMatcher
	FileRenames map[string]string // Files to rename during archiving. Git repo relative paths of original files as keys, new filenames (without base path) as values.
}

func (ArchiveOptions) ID added in v1.2.11

func (opts ArchiveOptions) ID() string

TODO: 1.3 add git mapping type (dir, file, ...) to gitArchive stage digest

type CreateDetachedMergeCommitOptions

type CreateDetachedMergeCommitOptions struct {
	HasSubmodules bool
}

type FetchOptions

type FetchOptions struct {
	All       bool
	TagsOnly  bool
	Prune     bool
	PruneTags bool
	Unshallow bool
	RefSpecs  map[string]string
}

type Options

type Options struct {
	LiveGitOutput bool
}

type PatchDescriptor

type PatchDescriptor struct {
	Paths       []string
	BinaryPaths []string
}

func Patch

func Patch(ctx context.Context, out io.Writer, gitDir string, opts PatchOptions) (*PatchDescriptor, error)

func PatchWithSubmodules

func PatchWithSubmodules(ctx context.Context, out io.Writer, gitDir, workTreeCacheDir string, opts PatchOptions) (*PatchDescriptor, error)

type PatchOptions

type PatchOptions struct {
	PathScope            string // Determines the directory that will get into the result (similar to <pathspec> in the git commands).
	PathMatcher          path_matcher.PathMatcher
	FromCommit, ToCommit string
	FileRenames          map[string]string // Files to rename during patching. Git repo relative paths of original files as keys, new filenames (without base path) as values.

	WithEntireFileContext bool
	WithBinary            bool
}

func (PatchOptions) ID added in v1.2.11

func (opts PatchOptions) ID() string

type RefDescriptor

type RefDescriptor struct {
	Commit   string
	FullName string
	IsHEAD   bool

	IsTag   bool
	TagName string

	IsBranch   bool
	BranchName string
	IsRemote   bool
	RemoteName string
}

type ShowRefResult

type ShowRefResult struct {
	Refs []RefDescriptor
}

func ShowRef

func ShowRef(repoDir string) (*ShowRefResult, error)

type SyncSourceWorktreeWithServiceBranchOptions added in v1.2.13

type SyncSourceWorktreeWithServiceBranchOptions struct {
	ServiceBranchPrefix string
	GlobIncludeList     []string
	GlobExcludeList     []string
}

type WithWorkTreeOptions

type WithWorkTreeOptions struct {
	HasSubmodules bool
}

type WorktreeDescriptor

type WorktreeDescriptor struct {
	Path   string
	Head   string
	Branch string
}

func GetWorkTreeList

func GetWorkTreeList(repoDir string) ([]WorktreeDescriptor, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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