Merge pull request #717 from cli/improve-finding-commits

Use remote tracking branch for base when detecting commits for `pr create`
This commit is contained in:
Mislav Marohnić 2020-03-31 17:08:10 +02:00 committed by GitHub
commit e0ba3fd614
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 20 deletions

View file

@ -54,8 +54,7 @@ func (f *FakeHTTP) StubRepoResponse(owner, repo string) {
"name": "%s",
"owner": {"login": "%s"},
"defaultBranchRef": {
"name": "master",
"target": {"oid": "deadbeef"}
"name": "master"
},
"viewerPermission": "WRITE"
} } }
@ -76,8 +75,7 @@ func (f *FakeHTTP) StubForkedRepoResponse(forkFullName, parentFullName string) {
"name": "%s",
"owner": {"login": "%s"},
"defaultBranchRef": {
"name": "master",
"target": {"oid": "deadbeef"}
"name": "master"
},
"viewerPermission": "ADMIN",
"parent": {
@ -85,8 +83,7 @@ func (f *FakeHTTP) StubForkedRepoResponse(forkFullName, parentFullName string) {
"name": "%s",
"owner": {"login": "%s"},
"defaultBranchRef": {
"name": "master",
"target": {"oid": "deadbeef"}
"name": "master"
},
"viewerPermission": "READ"
}

View file

@ -28,10 +28,7 @@ type Repository struct {
HasIssuesEnabled bool
ViewerPermission string
DefaultBranchRef struct {
Name string
Target struct {
OID string
}
Name string
}
Parent *Repository
@ -127,7 +124,6 @@ func RepoNetwork(client *Client, repos []ghrepo.Interface) (RepoNetworkResult, e
viewerPermission
defaultBranchRef {
name
target { oid }
}
isPrivate
}

View file

@ -122,7 +122,11 @@ func prCreate(cmd *cobra.Command, _ []string) error {
return fmt.Errorf("could not parse body: %w", err)
}
defs, defaultsErr := computeDefaults(baseBranch, headBranch)
baseTrackingBranch := baseBranch
if baseRemote, err := remotes.FindByRepo(baseRepo.RepoOwner(), baseRepo.RepoName()); err == nil {
baseTrackingBranch = fmt.Sprintf("%s/%s", baseRemote.Name, baseBranch)
}
defs, defaultsErr := computeDefaults(baseTrackingBranch, headBranch)
isWeb, err := cmd.Flags().GetBool("web")
if err != nil {

View file

@ -216,8 +216,7 @@ func TestPRCreate_cross_repo_same_branch(t *testing.T) {
"name": "REPO",
"owner": {"login": "OWNER"},
"defaultBranchRef": {
"name": "default",
"target": {"oid": "deadbeef"}
"name": "default"
},
"viewerPermission": "READ"
},
@ -227,8 +226,7 @@ func TestPRCreate_cross_repo_same_branch(t *testing.T) {
"name": "REPO",
"owner": {"login": "OWNER"},
"defaultBranchRef": {
"name": "default",
"target": {"oid": "deadbeef"}
"name": "default"
},
"viewerPermission": "READ"
},
@ -236,8 +234,7 @@ func TestPRCreate_cross_repo_same_branch(t *testing.T) {
"name": "REPO",
"owner": {"login": "MYSELF"},
"defaultBranchRef": {
"name": "default",
"target": {"oid": "deadbeef"}
"name": "default"
},
"viewerPermission": "WRITE"
} } }
@ -515,7 +512,7 @@ func TestPRCreate_defaults_error_autofill(t *testing.T) {
_, err := RunCommand(prCreateCmd, "pr create -f")
eq(t, err.Error(), "could not compute title or body defaults: could not find any commits between master and feature")
eq(t, err.Error(), "could not compute title or body defaults: could not find any commits between origin/master and feature")
}
func TestPRCreate_defaults_error_web(t *testing.T) {
@ -533,7 +530,7 @@ func TestPRCreate_defaults_error_web(t *testing.T) {
_, err := RunCommand(prCreateCmd, "pr create -w")
eq(t, err.Error(), "could not compute title or body defaults: could not find any commits between master and feature")
eq(t, err.Error(), "could not compute title or body defaults: could not find any commits between origin/master and feature")
}
func TestPRCreate_defaults_error_interactive(t *testing.T) {