 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package config contains the abstraction of config files
Index ¶
- Constants
- Variables
- func MatchAny(l []RefSpec, n plumbing.ReferenceName) bool
- type Config
- type ConfigStorer
- type Modules
- type RefSpec
- func (s RefSpec) Dst(n plumbing.ReferenceName) plumbing.ReferenceName
- func (s RefSpec) IsDelete() bool
- func (s RefSpec) IsForceUpdate() bool
- func (s RefSpec) IsValid() bool
- func (s RefSpec) IsWildcard() bool
- func (s RefSpec) Match(n plumbing.ReferenceName) bool
- func (s RefSpec) Src() string
- func (s RefSpec) String() string
 
- type RemoteConfig
- type Submodule
Constants ¶
const ( // DefaultFetchRefSpec is the default refspec used for fetch. DefaultFetchRefSpec = "+refs/heads/*:refs/remotes/%s/*" // DefaultPushRefSpec is the default refspec used for push. DefaultPushRefSpec = "refs/heads/*:refs/heads/*" )
Variables ¶
var ( ErrInvalid = errors.New("config invalid remote") ErrRemoteConfigNotFound = errors.New("remote config not found") ErrRemoteConfigEmptyURL = errors.New("remote config: empty URL") ErrRemoteConfigEmptyName = errors.New("remote config: empty name") )
var ( ErrModuleEmptyURL = errors.New("module config: empty URL") ErrModuleEmptyPath = errors.New("module config: empty path") )
Functions ¶
Types ¶
type Config ¶
type Config struct {
	// Core variables
	Core struct {
		// IsBare if true this repository is assumed to be bare and has no
		// working directory associated with it
		IsBare bool
	}
	// Remote list of repository remotes
	Remotes map[string]*RemoteConfig
	// contains filtered or unexported fields
}
    Config contains the repository configuration ftp://www.kernel.org/pub/software/scm/git/docs/git-config.html#FILES
type ConfigStorer ¶
ConfigStorer generic storage of Config object
type Modules ¶
type Modules struct {
	// Submodules is a map of submodules being the key the name of the submodule
	Submodules map[string]*Submodule
	// contains filtered or unexported fields
}
    Modules defines the submodules properties, represents a .gitmodules file https://www.kernel.org/pub/software/scm/git/docs/gitmodules.html
type RefSpec ¶
type RefSpec string
RefSpec is a mapping from local branches to remote references The format of the refspec is an optional +, followed by <src>:<dst>, where <src> is the pattern for references on the remote side and <dst> is where those references will be written locally. The + tells Git to update the reference even if it isn’t a fast-forward. eg.: "+refs/heads/*:refs/remotes/origin/*"
https://git-scm.com/book/es/v2/Git-Internals-The-Refspec
func (RefSpec) Dst ¶
func (s RefSpec) Dst(n plumbing.ReferenceName) plumbing.ReferenceName
Dst returns the destination for the given remote reference
func (RefSpec) IsForceUpdate ¶
IsForceUpdate returns if update is allowed in non fast-forward merges
func (RefSpec) IsWildcard ¶
IsWildcard returns true if the RefSpec contains a wildcard
type RemoteConfig ¶
type RemoteConfig struct {
	// Name of the remote
	Name string
	// URL the URL of a remote repository
	URL string
	// Fetch the default set of "refspec" for fetch operation
	Fetch []RefSpec
	// contains filtered or unexported fields
}
    RemoteConfig contains the configuration for a given remote repository
func (*RemoteConfig) Validate ¶
func (c *RemoteConfig) Validate() error
Validate validates the fields and sets the default values
type Submodule ¶
type Submodule struct {
	// Name module name
	Name string
	// Path defines the path, relative to the top-level directory of the Git
	// working tree,
	Path string
	// URL defines a URL from which the submodule repository can be cloned.
	URL string
	// Branch is a remote branch name for tracking updates in the upstream
	// submodule. Optional value.
	Branch string
	// contains filtered or unexported fields
}
    Submodule defines a submodule