Commit graph

64 commits

Author SHA1 Message Date
Aliabbas Merchant
4d84e4696a
Reverse the order of commits in pr create --fill (#1144) 2020-06-10 12:56:26 +02:00
Mislav Marohnić
57e60ab8a1 Merge remote-tracking branch 'origin/master' into issue-metadata-resolve-ids 2020-05-13 17:20:37 +02:00
Mislav Marohnić
1ff37be361 Fix assigning multiple user reviewers
This was due to a typo. Fixes #913
2020-05-13 17:16:12 +02:00
Mislav Marohnić
c225d379a9 Preserve CODEOWNERS reviewers in pr create
When reviewers were requested on a PR, they would apparently
overwrite the current set of reviewers. A fresh PR will already have
reviewers if it was assigned some by CODEOWNERS rules.

The fix is to only ever add additional reviewers and not overwrite the
entire set.
2020-05-13 12:09:59 +02:00
Mislav Marohnić
b75c4a812d Guard against leaked parameters in issue/pr create tests 2020-05-12 16:54:54 +02:00
Mislav Marohnić
3abc2be0f7 Switch issue create to optimized resolver and update tests 2020-05-12 16:17:06 +02:00
Mislav Marohnić
c682d90466 Add tests for issue/pr create with metadata 2020-05-08 20:32:46 +02:00
Mislav Marohnić
72e99e9530 Merge branch 'issue-pr-create-metadata' into issue-pr-create-metadata-wizard 2020-05-08 17:46:47 +02:00
Mislav Marohnić
0a4d4ee007 Replace FakeHTTP with httpmock which is now compatible 2020-05-07 15:19:14 +02:00
Mislav Marohnić
256d31950a Migrate a single test over to httpmock to demonstrate its use 2020-05-06 22:06:37 +02:00
Corey Johnson
4ef73a723d Update all calls to RunCommand 2020-05-05 09:20:01 -07:00
Mislav Marohnić
aeb08529e7 Add wizard that prompts for issue/pr metadata on create 2020-04-27 18:58:25 +02:00
vilmibm
a325db3051 new config infrastructure
- adds config get and config set commands
- supports arbitrary k/v strings set at top and host level
- supports writing an updated config, preserving comments
- supports mostly lazy evaluation of yaml
2020-04-17 15:17:44 -05:00
Mislav Marohnić
f09994dd84 Appease linter that warns about redundant type in composite literals 2020-04-13 15:15:41 +02:00
Mislav Marohnić
734497a8d8
Code fixes informed by golangci-lint failures (#738) 2020-04-03 16:33:34 +02:00
Mislav Marohnić
f0e6c98bf0 Fix auto-forking scenario in pr create
When an existing `headRepo` couldn't be detected, it's time to auto-fork
one. Unfortunately, an obscure Go behavior made it seem like `headRepo`
was a non-nil value, where in fact it did contain a nil pointer which
would crash the process.

This avoids ever assigning nil pointers to `var headRepo ghrepo.Interface`.
2020-04-01 19:37:56 +02:00
Mislav Marohnić
e0ba3fd614
Merge pull request #717 from cli/improve-finding-commits
Use remote tracking branch for base when detecting commits for `pr create`
2020-03-31 17:08:10 +02:00
Mislav Marohnić
219e3ecc5b Stop querying base branch commit hash from API
This code was put in place in preparation for a feature that never
shipped. Namely, we wanted to use the commit hash for the base branch so
we can get an accurate `git log` involving the changes in a pull
request. However, getting the commit hash from API is not the way to go
because the latest commit might not be available in the person's local
repository, and using a local tracking branch for base such as
`origin/master` works quite well in most cases without dereferencing it.
2020-03-31 13:36:48 +02:00
Mislav Marohnić
24a332bb1b Use remote tracking branch for base when detecting commits for pr create
This is to avoid errors when a local base branch is missing or out of
date.
2020-03-31 13:32:44 +02:00
vilmibm
c966f0dca5 test fallout 2020-03-30 12:04:45 -05:00
vilmibm
44acdd4ec3 Merge branch 'master' into pr-status-no-commits 2020-03-30 12:04:02 -05:00
Mislav Marohnić
da2116f8ee Merge remote-tracking branch 'origin/master' into pr-create-push-default 2020-03-30 13:32:37 +02:00
Mislav Marohnić
cba8331d55 Avoid auto-forking/pushing an already pushed branch in pr create
A branch is considered already pushed if its HEAD commit hash matches
the commit hash of one of the remote tracking branches:
`refs/remotes/<remote>/<branch>`

This mechanism allows the user to:

- Choose a remote as push target for their branch different than the one
  that would automatically get chosen for them by `pr create`;

- Avoid a `git push` operation (and its associated git hooks) if a push
  was not necessary in the first place.
2020-03-26 20:35:42 +01:00
vilmibm
dd877b6a34 merge fallout 2020-03-25 12:01:44 -05:00
vilmibm
f4b8851011 Merge remote-tracking branch 'origin/master' into pr-status-no-commits 2020-03-25 12:00:58 -05:00
Mislav Marohnić
5726376ab1 Guard against faulty affiliations GraphQL filter
This API was just fixed in github.com, but it will take a while for the
change to propagate to GitHub Enterprise installs, so guard ourselves
from false positives when querying forks.
2020-03-25 08:26:06 +01:00
Mislav Marohnić
5b2e1847b7 Merge remote-tracking branch 'origin/master' into pr-create-push-default 2020-03-25 08:16:04 +01:00
vilmibm
88cf6ce16e consolidate CmdStubber into test package 2020-03-23 16:36:24 -05:00
vilmibm
2895252e3b respect -B when checking for existing pull requests 2020-03-23 14:26:31 -05:00
Mislav Marohnić
d75faab85a Creating a PR now always prioritizes an existing fork as a push target
Before: the default push target for the current branch in `pr create`
was the first repository found among git remotes that has write access.

Now: the default push target is the fork the base repo, if said fork
exists and has write access, falling back to old behavior otherwise.

This change in the default is to facilitate contributions to projects
that have a hard requirement that all pull requests (even those opened
by people with write access to that project) come from forks.
2020-03-19 16:04:23 +01:00
Mislav Marohnić
5b76881624 Improve detecting existing PR on pr create
- Only check for existing PRs if `--web` wasn't given
- Fix detecting PRs from forks
- Improve order of error handling: local validation errors are handled
  earlier than the ones that have to consult the API
2020-03-18 13:09:02 +01:00
vilmibm
0344e9543a humanize branch name for title 2020-03-17 16:18:32 -05:00
vilmibm
98a2281f45 more nuanced error handling 2020-03-17 16:09:40 -05:00
vilmibm
af46fcb1ff --fill for pr create 2020-03-16 15:32:47 -05:00
vilmibm
2d90c09f48 review feedback 2020-03-16 15:32:35 -05:00
vilmibm
a23549001e cleanup 2020-03-13 15:14:32 -05:00
vilmibm
1b7840326c actually add tests for computing defaults 2020-03-13 15:14:03 -05:00
vilmibm
fba4f4d19e InitCmdStubber 2020-03-13 15:12:23 -05:00
vilmibm
c4c967fa0f add AskStubber 2020-03-13 15:12:17 -05:00
vilmibm
ed8aaa83e3 add CmdStubber 2020-03-13 15:12:09 -05:00
vilmibm
8769299731 titlebody prepopulation 2020-03-13 15:12:03 -05:00
Mislav Marohnić
96ba2d27d8 Respect overriden base branch in pr create --web 2020-02-17 14:14:37 +01:00
vilmibm
212dc1da1d properly specify head ref for cross-repo/same-branch 2020-02-12 16:11:04 -06:00
vilmibm
2ff31909cd use new helper 2020-02-12 11:33:24 -06:00
vilmibm
c8a4ac66d8 start on fixing tests 2020-02-11 21:56:20 -06:00
Mislav Marohnić
a710893fc1 Rename to cli/cli 2020-01-24 16:08:52 +01:00
Mislav Marohnić
30b4eab8e0 Use ghrepo.FullName in tests 2020-01-23 14:24:22 +01:00
Mislav Marohnić
f10b8d8095 Add unit tests for remotes-to-repos resolver 2020-01-23 14:05:15 +01:00
Mislav Marohnić
6c49614db7 Fix tests 2020-01-21 22:56:15 +01:00
Corey Johnson
f2afbbce74 Fix test output 2019-12-20 12:07:53 -08:00