package gitpb type RepoTag struct { r *Repo t *GitTag } func (r *Repo) NewCompareTag(refname string) *RepoTag { t := r.IfRefExists(refname) if t == nil { return nil } rt := new(RepoTag) rt.r = r rt.t = t return rt } func (r *Repo) NewCompareRef(t *GitTag) *RepoTag { if t == nil { return nil } rt := new(RepoTag) rt.r = r rt.t = t return rt } func (rt *RepoTag) GetRefname() string { return rt.t.Refname } func (rt *RepoTag) GetRef() *GitTag { return rt.t } func (t1 *RepoTag) CompareBranch(t2 *RepoTag) ([]string, []string, []string, []string, error) { lines1, cmd1, err1 := t1.r.CountDiffObjectsNEWNEW(t1.t.Refname, t2.t.Refname) // log.Info("lessthan", t1.t.Refname, t2.t.Refname, count, t1.r.FullPath) if err1 != nil { // log.Info("lessthan", t1.t.Refname, t2.t.Refname, count, t1.r.FullPath, err) return nil, nil, cmd1, nil, err1 } lines2, cmd2, err2 := t1.r.CountDiffObjectsNEWNEW(t2.t.Refname, t1.t.Refname) // log.Info("lessthan", t1.t.Refname, t2.t.Refname, count, t1.r.FullPath) if err2 != nil { // log.Info("lessthan", t1.t.Refname, t2.t.Refname, count, t1.r.FullPath, err) return nil, nil, cmd1, cmd2, err2 } if (len(lines1) != 0) || (len(lines2) != 0) { return lines1, lines2, cmd1, cmd2, nil } return lines1, lines2, cmd1, cmd2, nil } /* func (t1 *RepoTag) LessThanVerbose(t2 *RepoTag) []string { count, err := t1.r.CountDiffObjectsNew(t1.t.Refname, t2.t.Refname) log.Info("lessthan", t1.t.Refname, t2.t.Refname, len(count), t1.r.FullPath) if err != nil { log.Info("lessthan", t1.t.Refname, t2.t.Refname, len(count), t1.r.FullPath, err) return nil } if len(count) == 0 { return nil } return count } func (t1 *RepoTag) Equal(t2 *RepoTag) bool { return false } */ // if t1 is user branch, and t2 is devel branch, true if 0 func (t1 *RepoTag) GreaterThan(t2 *RepoTag) []string { lines, _, err := t1.r.CountDiffObjectsNEWNEW(t2.t.Refname, t1.t.Refname) // log.Info("greaterthan", t1.t.Refname, t2.t.Refname, count, t1.r.FullPath, err) if err != nil { return nil } if len(lines) == 0 { return lines } return nil } func (r *Repo) GetLocalUserRef() *GitTag { return r.IsBranchLocal(r.GetUserBranchName()) } func (r *Repo) GetLocalDevelRef() *GitTag { return r.IsBranchLocal(r.GetDevelBranchName()) } func (r *Repo) GetLocalMasterRef() *GitTag { return r.IsBranchLocal(r.GetMasterBranchName()) }