Commit graph

96 commits

Author SHA1 Message Date
Benjamin Chadwick
82662685e3
Autocomplete branch flags (#6031)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2023-03-29 16:09:44 +00:00
Federico Guerinoni
c6a693c459
Add --template flag for issue create and pr create (#7185)
Signed-off-by: Federico Guerinoni <guerinoni.federico@gmail.com>
Co-authored-by: Alessio Cosenza <cosenzaalessio17@gmail.com>
2023-03-27 08:24:12 +00:00
Sam Coe
35a24caed2
Standardize retry mechanism (#7027) 2023-03-02 23:06:30 +00:00
Josh Soref
e6d6427704 Support Fork with Default Branch Only 2023-02-07 10:00:39 -05:00
Benjamin Levesque
fef4195004
Add --reviewer flag completion (#6873)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2023-01-25 18:02:13 +01:00
Sam Coe
63ad804a26
Add notes about project scope to various commands (#6907) 2023-01-24 17:22:20 +00:00
vilmibm
f5d19b831e error instead of prompt when no base repo + fixes 2022-12-15 11:44:37 -08:00
vilmibm
91445d2df3 Merge remote-tracking branch 'origin/trunk' into pr-prompter 2022-12-05 11:27:55 -08:00
Sam Coe
f96b2fce57
Refactor git client and add tests (#6525) 2022-11-03 11:58:38 +01:00
Mislav Marohnić
8c32ca925c
Enable gh pr create --repo <repo> from outside of a local git repository
When failing to read information from the local git repository, silence that failure if `--repo` was given.
2022-10-28 18:22:37 +02:00
Sam Coe
4294ee14a1
revert revert 57fbe4f317 (#6474) 2022-10-20 12:17:20 +00:00
Sam Coe
2cefb9fa59
Fix pr create regression (#6472)
* Revert "Refactor to use new git client (#6447)"

This reverts commit 57fbe4f317.

* Fix pr create regression
2022-10-20 12:46:23 +03:00
vilmibm
47eebe0c64 use Prompter in template manager 2022-10-19 13:05:00 -07:00
vilmibm
a3b1bb7fb2 use Prompter in pr create
Note that this isn't done; it's leaving the metadata piece alone until
better testing utils are in place
2022-10-19 13:05:00 -07:00
Sam Coe
57fbe4f317
Refactor to use new git client (#6447) 2022-10-19 21:11:36 +03:00
Nate Smith
666470744d
Merge pull request #6313 from cli/context-prompter
use Prompter in context
2022-09-21 19:28:54 -05:00
Mislav Marohnić
6ca9406554 pr create: allow git push step to prompt on stdin 2022-09-21 20:57:53 +02:00
vilmibm
7b21a3ea45 use Prompter in context 2022-09-21 11:33:28 -07:00
Sam Coe
e7102f9d84
Migrate to go-gh text package (#6236) 2022-09-14 09:23:55 +04:00
Sam Coe
6a8deb1f5a
Integrate latest go-gh packages (#6084) 2022-08-18 09:04:13 +03:00
vilmibm
41385477c3 fix linting 2022-07-27 14:15:27 -05:00
Mislav Marohnić
5656296ade repo fork: directly fork under the desired name
A new GitHub feature landed where the API client can specify the desired
name of the new fork. This avoids the necessity of subsequently having
to rename the forked repo after the fork operation has created one.

For backwards compatibility, the renaming logic is still here, but
activates only if the resulting repo name is not the desired name.
2022-07-11 13:54:58 +02:00
Mislav Marohnić
f184d7ec58 pr create: allow forking repositories with INTERNAL visibility
The IsPrivate field of "internal" repositories is always true, but those
repositories aren't truly private and absolutely can be forked. We
shouldn't be checking for platform permissions in the client anyway, so
let's just drop this check and have the platform decide whether this is
a valid operation.
2022-06-07 17:56:06 +02:00
Mislav Marohnić
4d9a6ecb25 pr create: ensure clear error when --body is missing in nonTTY mode 2022-05-18 19:13:59 +02:00
Mislav Marohnić
cf92705d4c pr create: default to "Submit as draft" when --draft was used 2022-05-10 17:09:40 +02:00
Konstantin Keller
dea446d2a8
"Submit as draft" option for pr create 2022-05-03 22:20:22 +03:00
Luke Karrys
c847e935f1
pr create --body-file can read from stdin (#5461) 2022-04-14 06:32:26 +00:00
Christopher Nethercott
933a91e18e
Add "new" alias to "create" commands (#5388)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2022-04-11 16:48:34 +02:00
Daniel Le
24ba3540b7 generateCompareURL uses url.PathEscape instead of url.QueryEscape
For ctx.{BaseBranch,HeadBranchLabel}.
2022-03-30 13:01:24 +08:00
nate smith
562f1b3d0d add GetOrDefault functionality to config 2022-01-11 14:56:58 -06:00
Alan Donovan
f4491c7a80 Add FlagErrorf; encapsulate FlagError.error 2021-10-21 11:40:20 -04:00
Mislav Marohnić
11fbb60ae7 Rename the module to "github.com/cli/cli/v2" 2021-08-25 12:41:30 +02:00
Mislav Marohnić
606deaf134 Allow setting empty body via editor in issue/pr create 2021-06-04 21:50:51 +02:00
Mislav Marohnić
bc3bb97c43 Merge remote-tracking branch 'origin' into pr-lookup-refactor 2021-05-17 17:41:38 +02:00
Mislav Marohnić
3cbd5b4934
Add repo fork --org functionality (#3611)
Co-authored-by: Gowtham Munukutla <gowtham.m81197@gmail.com>
2021-05-10 17:09:03 +02:00
Mislav Marohnić
9bdc63c4ca Eliminate API overfetching in pr commands
This completely rewrites the PR lookup mechanism so that the caller
must specify the GraphQL fields to query for each PR. Additionally, this
fixes some export problems with `pr view --json`.

Features:

- Each pr command now gets assigned a concept of a Finder. This makes it
  easier to stub the PR in tests without having to stub the underlying
  HTTP calls or git invocations.

- `pr view --web` is much faster since it only fetches the "url" field.

- `pr diff 123` now skips a whole API call where a whole PR was
  unnecessarily preloaded just to access its diff in a subsequent call.

- PullRequestGraphQL query builder is now used to construct queries.

- A bunch of individual commands are now freed of having to know about
  concepts such as BaseRepo, Branch, Config, or Remotes.
2021-04-30 20:34:36 +02:00
Sasha Gerrand
f70bdcf982
Corrects a typo in pr create docs 2021-04-27 11:57:42 +01:00
Mislav Marohnić
57536e7b0d 💅 cleanup URL length checking 2021-03-30 19:12:31 +02:00
Cristian Dominguez
fb39c38c85 Disable preview option in prompts if URL size is too long 2021-03-30 19:12:31 +02:00
Mislav Marohnić
111e8dbcf2 Pass web browser to each individual command
This removes sensitivity to the BROWSER environment variable in tests
and makes it easier to verify the URL that the browser was invoked with
without having to stub sub-processes.
2021-03-19 21:22:37 +01:00
Mislav Marohnić
e96d974331
Merge pull request #3023 from cli/cancel-error-status
Issue/pr create: exit with nonzero status code when "Cancel" was chosen
2021-03-04 13:45:11 +01:00
Mislav Marohnić
2ebdde1ddd Exit with status code "2" on user cancellation errors
This also stops printing "interrupt" after Ctrl-C is pressed.
2021-03-02 13:48:44 +01:00
Mislav Marohnić
3efa764305 Avoid the issue/pr recovery mechanism handling Ctrl-C keypress in prompts
Either InterruptErr or SilentErr will be present when the user has
chosen "Cancel" or pressed Ctrl-C in prompts. We don't want the recovery
mechanism to kick in these cases because the cancellation was likely
willingly initiated by the user.
2021-02-23 20:09:03 +01:00
Mislav Marohnić
fff051468e Avoid triggering recovery mechanism when cancelling issue/pr create 2021-02-23 19:42:41 +01:00
Mislav Marohnić
b0b90afa87 issue/pr create: exit with nonzero status code when "Cancel" was chosen
This is to indicate that the command had not finished successfully.
2021-02-23 17:06:29 +01:00
Mislav Marohnić
fee7adf9ba Add issue create -F <file> flag and tests 2021-02-23 14:25:32 +01:00
castaneai
13c3c6543b Add pr create --body-file flag 2021-02-23 12:58:34 +01:00
Mislav Marohnić
83bb1bfd9d Port pr create to new templates implementation 2021-02-10 18:20:57 +01:00
Mislav Marohnić
47baf8fb10 pr create: explain how to link an issue 2021-02-03 22:17:31 +01:00
AliabbasMerchant
1c54db4919 fix: Project Argument working along with --web flag 2021-01-22 23:07:00 +01:00