Commit graph

2272 commits

Author SHA1 Message Date
Mislav Marohnić
ece17c4ce2 Add GITHUB_ENTERPRISE_TOKEN mention to api help 2020-09-07 21:37:55 +02:00
Mislav Marohnić
c80292c2e8 Extend Config object with GITHUB_TOKEN support
Adding GITHUB_TOKEN & GITHUB_ENTERPRISE_TOKEN support orthogonal to
Config was getting out of hand, especially in `auth` commands that
adjust their messaging and error status based on the presence of these
environment variables.

The new approach builds in support for tokens from environment straight
into Config object by composition. Thus, commands need not ever be
concerned with any specific environment variables.
2020-09-07 21:33:26 +02:00
Mislav Marohnić
feadf684fb Merge remote-tracking branch 'origin' into ghe-auth-tweaks 2020-09-07 17:37:16 +02:00
Mislav Marohnić
9109b68344
Merge pull request #1625 from cli/api-no-accept
Avoid setting a default `Accept` header in `hub api`
2020-09-07 17:30:12 +02:00
Mislav Marohnić
5e11fe8fa0
Merge pull request #1623 from bdougie/bdougie-filter-credit-bots
Filter gh credits for humans
2020-09-07 11:44:59 +02:00
Brian 'bdougie' Douglas
d83c99f87f filter by contributor type 2020-09-06 22:02:02 -07:00
Mislav Marohnić
995828abf8 Avoid setting a default Accept header in hub api
Due to our HTTP client default behavior, an `Accept` header is added to
all API requests. This is fine for all commands except `gh api`, where
the user should ideally have fine-grained control over most aspects of
HTTP requests and where there should be little to no defaults in general.
2020-09-04 17:42:57 +02:00
Mislav Marohnić
2bb5e052d8 Send GITHUB_TOKEN to github.com and GITHUB_ENTERPRISE_TOKEN to GHES 2020-09-04 17:25:37 +02:00
Mislav Marohnić
3e7a2585c5 Tighten git remote URL parsing
We now only support git URLs that have one of the explicitly supported protocols.
2020-09-04 16:18:26 +02:00
Mislav Marohnić
6ceea6e531
Merge pull request #1616 from cli/display-width-punctuation
Fix detecting display width of common punctuation characters
2020-09-04 16:04:43 +02:00
Mislav Marohnić
b93c896561 Upgrade text/width package 2020-09-02 21:01:39 +02:00
Mislav Marohnić
1f86e7cd04 Fix display width of common punctuation characters
These characters get classified as "East Asian Mixed" by Go's
`text/width` package, and thus assumed that their printed version
occupies a width of 2 characters, whereas they each only occupy one.

I'm not sure why they are classified as East Asian, but I did not have
the energy to dive into Go's Unicode tables, so here is a workaround
based on an exclusion list.
2020-09-02 20:59:11 +02:00
Sam
00836079dd
Merge pull request #1600 from cli/update-readme
Remove feedback survey from README
2020-09-02 19:42:40 +02:00
Mislav Marohnić
abf83c02c0
Merge pull request #1606 from cli/ghe-oauth-422-response
Handle HTTP 422 response to OAuth Device flow detection
2020-09-02 13:12:11 +02:00
Nate Smith
bf9d3ab12f
Merge pull request #1607 from cli/pwsh-tty
properly check for tty when in powershell
2020-09-01 16:16:31 -05:00
nate smith
49ab3ec5bf check for tty before creating colorables 2020-09-01 11:18:34 -05:00
Nate Smith
734959c39d
Merge pull request #1603 from cli/create-pr-metadata-failure
Be transparent about which part of `pr create` flow failed
2020-09-01 10:51:55 -05:00
Sam Coe
b4956006be Fix up feature request issues url 2020-09-01 15:52:58 +02:00
Mislav Marohnić
48a827ee34 Tweak gh config set -h output format on auth login 2020-09-01 13:19:30 +02:00
Mislav Marohnić
0de3f678bc Only validate --hostname when flag was provided 2020-09-01 13:19:19 +02:00
Mislav Marohnić
b029397d32 Validate the --hostname flag value 2020-09-01 13:06:13 +02:00
Mislav Marohnić
1a051e9c44 Validate hostname as entered in the auth prompt 2020-09-01 12:59:58 +02:00
Mislav Marohnić
a8b06c329b Ensure correct ANSI color output during OAuth flow on Windows
We used to write directly to `os.Stderr`, but we first need to convert
that into a colorable stream.
2020-09-01 12:31:36 +02:00
Sam Coe
35e739dfbd Link to bugs and feature requests 2020-09-01 10:25:16 +02:00
Sam Coe
022d29ce79 Further cleanup up README links and update contributing doc 2020-09-01 09:40:27 +02:00
Mislav Marohnić
cb4cc72e50 Handle HTTP 422 response to OAuth Device flow detection
If HTTP 422 is encountered, assume that OAuth Device Flow is unavailable
and fall back to OAuth app authorization flow.
2020-08-31 22:26:04 +02:00
Mislav Marohnić
766e4950d9 Be transparent about which part of pr create flow failed
When applying metadata to the new PR such as assignees or reviewers, if
the operation fails, an error message would get printed:

    failed to create pull request: <API error text>

This was misleading, because the PR did get created; it's just that
updating it failed. The new error message is:

    https://github.com/OWNER/REPO/pull/123
    pull request update failed: <API error text>

The PR URL is printed on stdout and the error message is printed on
stderr. In case of any errors, the exit code is still non-zero.
2020-08-31 16:46:22 +02:00
Sam Coe
a8add832b5 Address PR feedback and link cleanup 2020-08-31 16:27:27 +02:00
Sam Coe
a3eb099c14 Remove feedback survey from README 2020-08-31 08:44:04 +02:00
Nate Smith
fd31007075
Merge pull request #1590 from colinshum/colinshum/template-repo
[Feature] Create repositories from a template repo
2020-08-28 14:09:12 -05:00
Colin Shum
99372f0dbc [Refactor] Add variadic argument to repoCreate to support templates 2020-08-28 15:02:08 -04:00
Nate Smith
bb65ca0635
Merge pull request #1596 from cli/go-version-requirements
Clarify our Go version requirements
2020-08-28 13:14:12 -05:00
Mislav Marohnić
176dd29c05 Clarify our Go version requirements
* We are trying to keep the binary building on Go 1.13 to support building the project on Ubuntu 20.04 LTS
* Go 1.14+ is required to run the test suite
* We build our releases on Go 1.15

This adds a CI check that verifies that the project compiles on 1.13
2020-08-28 14:05:50 +02:00
Mislav Marohnić
987e95f0c8
Merge pull request #1593 from wilso199/docs/brew-installation
Updating Brew Installation Instructions
2020-08-28 12:24:49 +02:00
Mislav Marohnić
9e5b7aa371
Merge pull request #1594 from cli/remove-feedback-form
Remove reference to feedback form
2020-08-28 12:24:18 +02:00
Sam Coe
41f42d4057 Remove reference to feedback form 2020-08-28 09:06:31 +02:00
wilso199
3275690b83 Updating brew install 2020-08-27 20:48:44 -04:00
Colin Shum
2886dd913f [Refactor] toView -> toClone 2020-08-27 19:13:06 -04:00
Colin Shum
263e3a6a35 Update create_test.go 2020-08-27 17:57:55 -04:00
Nate Smith
87712242ad
Merge pull request #1584 from cli/pr-create-repo-override-crash
Correctly surface errors when parsing `pr create --repo` override
2020-08-27 14:00:58 -05:00
Colin Shum
32e5d05328 [Fix] Warn user when --template is passed with incompatible flags 2020-08-27 15:00:57 -04:00
Colin Shum
58f62a4a15 [Feature] Create repository from template
Co-authored-by: Mislav Marohnić <mislav@github.com>
2020-08-27 14:46:16 -04:00
Nate Smith
74524fc8f7
Merge pull request #1585 from cli/pr-commands-repo-override-arg
Disallow `pr -R` flag for commands that operate on the current branch
2020-08-27 10:52:18 -05:00
Nate Smith
2aa0f817ef
Merge pull request #1583 from cli/oauth-device-fallback-fix
Handle "unauthorized_client" HTTP 400 error when doing Device Flow
2020-08-27 10:49:14 -05:00
Mislav Marohnić
c21caf5b2b Disallow pr -R flag for commands that operate on the current branch
If the `--repo` flag is specified, then the user intends to select a
repository other than the current one. In that case, it doesn't make
sense to fall back to detecting the PR belonging to the current branch,
so throw a descriptive error instead.
2020-08-27 16:30:34 +02:00
Mislav Marohnić
b7550fbf15 Correctly surface errors when parsing pr create --repo override
This avoids a crash when passing invalid input for the
`pr create --repo` flag.
2020-08-27 14:26:27 +02:00
Mislav Marohnić
1c0f83ffd5 Handle "unauthorized_client" HTTP 400 error when doing Device Flow
The "unauthorized_client" error means that OAuth Device Flow is implemented, but either isn't enabled on this GHES instance, or that it isn't enabled for this particular OAuth app. In these cases we fall back to old OAuth app authorization flow.
2020-08-27 14:10:16 +02:00
Nate Smith
f1ea794bf1
Merge pull request #1580 from dan1elhughes/feature/number-url-scriptable-output
Number and URL included in scriptable output
2020-08-26 16:41:53 -05:00
Dan Hughes
7b8d052f0e
Add new output to existing test 2020-08-26 17:31:13 +01:00
Dan Hughes
a3aea11e5b
Include URL and number in non-TTY output 2020-08-26 17:28:17 +01:00