Documentation
¶
Index ¶
- type Git
- func (g *Git) Add(files []string) error
- func (g *Git) Checkout() error
- func (g *Git) Clean() error
- func (g *Git) Clone() (string, error)
- func (g *Git) Commit(message string) error
- func (g *Git) GetBranches() (sourceBranch, workingBranch, targetBranch string)
- func (g *Git) GetChangedFiles(workingDir string) ([]string, error)
- func (g *Git) GetDirectory() (directory string)
- func (g *Git) GetURL() string
- func (g *Git) IsRemoteBranchUpToDate() (bool, error)
- func (g *Git) Push() error
- func (g *Git) PushBranch(branch string) error
- func (g *Git) PushTag(tag string) error
- type Spec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Git ¶
type Git struct {
// contains filtered or unexported fields
}
Git contains the git scm handler
func (*Git) GetBranches ¶ added in v0.53.0
func (*Git) GetDirectory ¶
GetDirectory returns the working git directory.
func (*Git) IsRemoteBranchUpToDate ¶ added in v0.45.0
IsRemoteBranchUpToDate checks if the working branch should be push to remote
func (*Git) PushBranch ¶ added in v0.44.0
PushBranch push tags
type Spec ¶ added in v0.26.0
type Spec struct { /* "url" specifies the git url compatible: * scm example: * git@github.com:updatecli/updatecli.git * https://github.com/updatecli/updatecli.git remarks: when using the ssh protocol, the user must have the right to clone the repository based on its local ssh configuration */ URL string `yaml:",omitempty" jsonschema:"required"` /* "username" specifies the username when using the HTTP protocol compatible * scm */ Username string `yaml:",omitempty"` /* "password" specifies the password when using the HTTP protocol compatible: * scm */ Password string `yaml:",omitempty"` /* "branch" defines the git branch to work on. compatible: * scm default: main remark: depending on which resource references the GitHub scm, the behavior will be different. If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve file(s) from that branch. If the scm is linked to target then Updatecli will push any changes to that branch For more information, please refer to the following issue: https://github.com/updatecli/updatecli/issues/1139 */ Branch string `yaml:",omitempty"` /* "user" specifies the user associated with new git commit messages created by Updatecli compatible: * scm */ User string `yaml:",omitempty"` /* "email" defines the email used to commit changes. compatible: * scm default: default set to your global git configuration */ Email string `yaml:",omitempty"` /* "directory" defines the local path where the git repository is cloned. compatible: * scm remark: Unless you know what you are doing, it is recommended to use the default value. The reason is that Updatecli may automatically clean up the directory after a pipeline execution. default: /tmp/updatecli/<url> */ Directory string `yaml:",omitempty"` /* "force" is used during the git push phase to run `git push --force`. compatible: * scm */ Force bool `yaml:",omitempty"` /* "commitMessage" is used to generate the final commit message. compatible: * scm remark: it's worth mentioning that the commit message is applied to all targets linked to the same scm. default: false */ CommitMessage commit.Commit `yaml:",omitempty"` /* "gpg" specifies the GPG key and passphrased used for commit signing compatible: * scm */ GPG sign.GPGSpec `yaml:",omitempty"` }
Spec contains settings to manipulate a git repository.
func (*Spec) Merge ¶ added in v0.28.0
Merge returns nil if it successfully merges the child Spec into target receiver. Please note that child attributes always overrides receiver's
func (*Spec) MergeFromEnv ¶ added in v0.28.0
MergeFromEnv updates the target receiver with the "non zero-ed" environment variables
Click to show internal directories.
Click to hide internal directories.