package gitpb import ( "os" "go.wit.com/lib/gui/shell" "go.wit.com/log" ) func (repo *Repo) SetReadOnly(b bool) { repo.ReadOnly = b } func (repo *Repo) SetTargetVersion(target string) { repo.TargetVersion = target } func (repo *Repo) SetMasterBranchName(s string) { repo.MasterBranchName = s } func (repo *Repo) GetGoPath() string { if repo.GoInfo == nil { return repo.Namespace } if repo.GoInfo.GoPath == "" { return repo.Namespace } return repo.GoInfo.GoPath } func (repo *Repo) GetGoPrimitive() bool { if repo.GoInfo == nil { return false } return repo.GoInfo.GoPrimitive } func (repo *Repo) SetGoPrimitive(b bool) { if repo.GoInfo == nil { repo.GoInfo = new(GoInfo) } repo.GoInfo.GoPrimitive = b } func (repo *Repo) IsUserBranch() bool { if repo.GetCurrentBranchName() == repo.GetUserBranchName() { return true } return false } func (repo *Repo) IsMasterBranch() bool { if repo.GetCurrentBranchName() == repo.GetMasterBranchName() { return true } return false } func (repo *Repo) IsDevelBranch() bool { if repo.GetCurrentBranchName() == repo.GetDevelBranchName() { return true } return false } func (repo *Repo) GitCommit() error { if !repo.CheckDirty() { // repo is not dirty. nothing to do! return nil } os.Chdir(repo.GetFullPath()) os.Setenv("LESS", "-XR") if err := shell.Exec([]string{"git", "diff"}); err != nil { return err } if err := shell.ExecCheck([]string{"git", "add", "--all"}); err != nil { return err } if err := shell.ExecCheck([]string{"git", "commit", "--all"}); err != nil { shell.ExecCheck([]string{"git", "reset"}) return err } log.Info("git commit ok.") return nil }