Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gh for openSUSE:Factory checked in at 2021-05-20 19:25:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gh (Old) and /work/SRC/openSUSE:Factory/.gh.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gh" Thu May 20 19:25:07 2021 rev:8 rq:894510 version:1.10.1 Changes: -------- --- /work/SRC/openSUSE:Factory/gh/gh.changes 2021-05-19 17:50:11.265331430 +0200 +++ /work/SRC/openSUSE:Factory/.gh.new.2988/gh.changes 2021-05-20 19:25:37.309804323 +0200 @@ -1,0 +2,6 @@ +Wed May 19 13:49:34 UTC 2021 - Mustafa ??al????kan <mus...@protonmail.com> + +- Update to version 1.10.1: + * Fix pr checkout for cross-repository pull requests #3663 + +------------------------------------------------------------------- @@ -16 +21,0 @@ - Old: ---- gh-1.10.0.tar.gz New: ---- gh-1.10.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gh.spec ++++++ --- /var/tmp/diff_new_pack.BfH2jT/_old 2021-05-20 19:25:37.913801846 +0200 +++ /var/tmp/diff_new_pack.BfH2jT/_new 2021-05-20 19:25:37.917801829 +0200 @@ -18,7 +18,7 @@ %define goflags "-buildmode=pie -trimpath -mod=vendor -modcacherw" Name: gh -Version: 1.10.0 +Version: 1.10.1 Release: 0 Summary: The official CLI for GitHub License: MIT ++++++ gh-1.10.0.tar.gz -> gh-1.10.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cli-1.10.0/pkg/cmd/pr/checkout/checkout.go new/cli-1.10.1/pkg/cmd/pr/checkout/checkout.go --- old/cli-1.10.0/pkg/cmd/pr/checkout/checkout.go 2021-05-18 19:54:44.000000000 +0200 +++ new/cli-1.10.1/pkg/cmd/pr/checkout/checkout.go 2021-05-19 13:35:57.000000000 +0200 @@ -72,7 +72,7 @@ func checkoutRun(opts *CheckoutOptions) error { findOptions := shared.FindOptions{ Selector: opts.SelectorArg, - Fields: []string{"number", "headRefName", "headRepository", "headRepositoryOwner"}, + Fields: []string{"number", "headRefName", "headRepository", "headRepositoryOwner", "isCrossRepository"}, } pr, baseRepo, err := opts.Finder.Find(findOptions) if err != nil { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cli-1.10.0/pkg/cmd/pr/checkout/checkout_test.go new/cli-1.10.1/pkg/cmd/pr/checkout/checkout_test.go --- old/cli-1.10.0/pkg/cmd/pr/checkout/checkout_test.go 2021-05-18 19:54:44.000000000 +0200 +++ new/cli-1.10.1/pkg/cmd/pr/checkout/checkout_test.go 2021-05-19 13:35:57.000000000 +0200 @@ -110,7 +110,8 @@ defer http.Verify(t) baseRepo, pr := stubPR("OWNER/REPO", "OWNER/REPO:feature") - shared.RunCommandFinder("123", pr, baseRepo) + finder := shared.RunCommandFinder("123", pr, baseRepo) + finder.ExpectFields([]string{"number", "headRefName", "headRepository", "headRepositoryOwner", "isCrossRepository"}) cs, cmdTeardown := run.Stub() defer cmdTeardown(t) @@ -164,7 +165,8 @@ defer http.Verify(t) baseRepo, pr := stubPR("OWNER/REPO", "hubot/REPO:feature") - shared.RunCommandFinder("123", pr, baseRepo) + finder := shared.RunCommandFinder("123", pr, baseRepo) + finder.ExpectFields([]string{"number", "headRefName", "headRepository", "headRepositoryOwner", "isCrossRepository"}) cs, cmdTeardown := run.Stub() defer cmdTeardown(t) @@ -186,7 +188,8 @@ defer http.Verify(t) baseRepo, pr := stubPR("OWNER/REPO:master", "hubot/REPO:feature") - shared.RunCommandFinder("123", pr, baseRepo) + finder := shared.RunCommandFinder("123", pr, baseRepo) + finder.ExpectFields([]string{"number", "headRefName", "headRepository", "headRepositoryOwner", "isCrossRepository"}) cs, cmdTeardown := run.Stub() defer cmdTeardown(t) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cli-1.10.0/pkg/cmd/pr/shared/finder.go new/cli-1.10.1/pkg/cmd/pr/shared/finder.go --- old/cli-1.10.0/pkg/cmd/pr/shared/finder.go 2021-05-18 19:54:44.000000000 +0200 +++ new/cli-1.10.1/pkg/cmd/pr/shared/finder.go 2021-05-19 13:35:57.000000000 +0200 @@ -65,8 +65,10 @@ var runCommandFinder PRFinder // RunCommandFinder is the NewMockFinder substitute to be used ONLY in runCommand-style tests. -func RunCommandFinder(selector string, pr *api.PullRequest, repo ghrepo.Interface) { - runCommandFinder = NewMockFinder(selector, pr, repo) +func RunCommandFinder(selector string, pr *api.PullRequest, repo ghrepo.Interface) *mockFinder { + finder := NewMockFinder(selector, pr, repo) + runCommandFinder = finder + return finder } type FindOptions struct { @@ -460,7 +462,7 @@ return err.error } -func NewMockFinder(selector string, pr *api.PullRequest, repo ghrepo.Interface) PRFinder { +func NewMockFinder(selector string, pr *api.PullRequest, repo ghrepo.Interface) *mockFinder { var err error if pr == nil { err = &NotFoundError{errors.New("no pull requests found")} @@ -476,6 +478,7 @@ type mockFinder struct { called bool expectSelector string + expectFields []string pr *api.PullRequest repo ghrepo.Interface err error @@ -488,6 +491,9 @@ if m.expectSelector != opts.Selector { return nil, nil, fmt.Errorf("mockFinder: expected selector %q, got %q", m.expectSelector, opts.Selector) } + if len(m.expectFields) > 0 && !isEqualSet(m.expectFields, opts.Fields) { + return nil, nil, fmt.Errorf("mockFinder: expected fields %v, got %v", m.expectFields, opts.Fields) + } if m.called { return nil, nil, errors.New("mockFinder used more than once") } @@ -500,3 +506,27 @@ return m.pr, m.repo, nil } + +func (m *mockFinder) ExpectFields(fields []string) { + m.expectFields = fields +} + +func isEqualSet(a, b []string) bool { + if len(a) != len(b) { + return false + } + + aCopy := make([]string, len(a)) + copy(aCopy, a) + bCopy := make([]string, len(b)) + copy(bCopy, b) + sort.Strings(aCopy) + sort.Strings(bCopy) + + for i := range aCopy { + if aCopy[i] != bCopy[i] { + return false + } + } + return true +} ++++++ vendor.tar.gz ++++++