Commit graph

75 commits

Author SHA1 Message Date
Corey Johnson
f70473c234 Replace excessive whitespace 2019-12-06 14:32:55 -08:00
Corey Johnson
bbb91d6a2a Replace newlines 2019-12-05 14:12:12 -08:00
Mislav Marohnić
4e859fa7ca Validate PR passed as pr view <url> before opening it 2019-12-03 21:45:28 +01:00
Mislav Marohnić
29de133ccf Accept PR URL or branch argument in pr checkout <pr> 2019-12-03 21:19:09 +01:00
Mislav Marohnić
519e731038 Allow specifying PR URL or branch name for pr view <pr> 2019-12-03 20:52:36 +01:00
Mislav Marohnić
2621bccc44 Use RunCommand in tests to ensure flags reset between runs 2019-12-03 17:26:28 +01:00
Mislav Marohnić
6aa1efcf9f Support --base and --label in combination with pr list --assignee 2019-12-03 16:00:11 +01:00
Mislav Marohnić
51d570e141 Merge remote-tracking branch 'origin/master' into pr-list-assignee 2019-12-03 11:41:50 +01:00
Mislav Marohnić
3e06cfff0d Improve mapping current branch to a PR in pr status 2019-12-02 20:40:14 +01:00
Mislav Marohnić
3b4c9a5309 Extract finding selector for PR belonging to current branch 2019-12-02 20:21:28 +01:00
Mislav Marohnić
db8c2d4e01 Merge remote-tracking branch 'origin/master' into pr-current-branch 2019-12-02 18:56:11 +01:00
Mislav Marohnić
64dcdd68e5 Merge pull request #118 from github/win-ansi-color
Fix ANSI color output on Windows
2019-11-28 11:47:02 +01:00
Mislav Marohnić
b6fa88337d Ensure that commands print to a colorable output
If a command does `fmt.Print(...)` for output that contains ANSI color
codes, this not safe on Windows. We have to ensure that we always use
the `fmt.Fprint*` family of functions with a writer that was transformed
using `utils.NewColorable()`.
2019-11-27 20:51:51 +01:00
Mislav Marohnić
1bf28927f0 Support -a, --assignee in pr list
This is for symmetry with `issue list`.

The problem is that the `Repository.pullRequests` connection doesn't
support filtering by assignee, therefore we need to switch to search API
in case an assignee was specified. This is awkward, but I don't see
another way.
2019-11-27 18:15:07 +01:00
Mislav Marohnić
b8a0754a03 💅 Sentence case for CLI flags 2019-11-27 17:09:40 +01:00
Mislav Marohnić
002aac3519 Remove global -B, --current-branch flag
Now `pr list --base` has shorthand `-B`
2019-11-27 17:05:49 +01:00
Mislav Marohnić
cdf40cc6ed Merge pull request #98 from github/more-specific-help-summaries
More specific help summaries
2019-11-25 11:34:19 +01:00
Mislav Marohnić
eabcae84c7 Merge pull request #81 from github/pr-status-single-check
`pr status`: avoid printing a lonely "1" when there is only one Check
2019-11-21 15:27:53 +01:00
evelyn masso
98062b7c0e slightly more specific command summaries 2019-11-20 11:38:27 -08:00
Mislav Marohnić
eff8847513 Improve detecting PR for the current branch
Now reads git branch configuration and handles these cases:

    branch ["foo"]
      remote origin
      merge  refs/heads/bar

    branch ["foo"]
      remote other-remote
      merge  refs/heads/foo

    branch ["foo"]
      remote https://github.com/OWNER/REPO.git
      merge  refs/heads/bar

    branch ["foo"]
      remote origin
      merge  refs/pull/123/head
2019-11-20 15:20:36 +01:00
Mislav Marohnić
508f6787f0 Have PullRequestForBranch accept "owner:branch" value for forks
When on a `patch-1` branch locally, `gh pr view` would happily open the
first open PR it finds with "patch-1" as its head, even those coming
from forks.
2019-11-20 15:20:36 +01:00
Mislav Marohnić
97a6dc494b Redesign TablePrinter to avoid SetContentWidth / FitColumns steps
The API is now:
- AddField;
- EndRow;
- Render.
2019-11-20 13:29:27 +01:00
Mislav Marohnić
02b1f60a24 Merge remote-tracking branch 'origin/master' into table-output 2019-11-20 12:12:09 +01:00
Mislav Marohnić
26c1e4a170 Align checks wording with dotcom 2019-11-20 12:00:24 +01:00
Mislav Marohnić
39f535f0a1 Only show ratio of PR checks when some are failing
Now the possible outputs are:

- "checks: pending" (yellow)
- "checks: success" (green)
- "checks: failing" (red) - 1 out of 1 check failed
- "checks: 3/5 failing" (red) - 3 out of 5 checks failed
2019-11-19 12:01:46 +01:00
Mislav Marohnić
f58b7ecb3e Merge remote-tracking branch 'origin/master' into pr-status-single-check 2019-11-19 11:09:15 +01:00
Amanda Pinsker
5e7557e8fa Copy edits 2019-11-18 23:26:18 -08:00
Mislav Marohnić
b640a3027a Merge pull request #80 from github/status-check-rollup
Strengthen PR Reviews+Checks GraphQL via `pe_mobile` feature flag
2019-11-18 20:00:25 +01:00
Mislav Marohnić
f30e973b9d Extract generic row printer that adjusts itself for receiving terminal
This makes the approach from `pr list` reusable across other commands
that may benefit from table-based output, e.g. `issue list` or `pr status`

The idea is: instantiate a printer, connect it to stdout, feed it some
data, and it does the rest: colored, truncated column output that fits
into a terminal, or tab-delimited output (no color, no truncation) for
scripts.
2019-11-15 19:19:41 +01:00
Mislav Marohnić
d1eac7b211 pr status: avoid printing a lonely "1" when there is only one Check
In a repository that only has a single Check configured (e.g. this
repo), we would print "checks: 1" for PRs where the CI is passing. This
looks akward when repeated for each PR and provides little useful
information.

This avoids ever printing "1" and instead prints "failing", "pending",
or "success", respectively. We now only show numbers for repositories
that have more than one Check runs.
2019-11-15 12:35:44 +01:00
Mislav Marohnić
be55f81e16 Add "review required" notice to PRs if applicable 2019-11-15 12:05:05 +01:00
Mislav Marohnić
760fac906d Merge remote-tracking branch 'origin/master' into pr-checkout 2019-11-15 09:31:11 +01:00
Mislav Marohnić
624c44efda Merge pull request #63 from github/branch-from-fork
Use `OWNER:BRANCH` syntax for cross-repo PRs
2019-11-15 09:28:00 +01:00
Mislav Marohnić
d8308b4c15 Allow pr checkout while not on any branch 2019-11-14 20:54:44 +01:00
Mislav Marohnić
1fc9c8f9d6 Test the scenario where the target branch already exists 2019-11-14 20:29:24 +01:00
Mislav Marohnić
dc0de147c9 Add pr checkout command 2019-11-14 19:59:42 +01:00
Mislav Marohnić
1479ff457a Merge pull request #38 from github/pr-create
Add `pr create` command

Closes #59
2019-11-14 19:33:30 +01:00
Mislav Marohnić
0c2d8879d1 Use OWNER:BRANCH syntax for cross-repo PRs
This affects `pr status` and `pr list`.
2019-11-14 16:46:59 +01:00
Billy Griffin
e262e7283c Swap "open in browser" to "view in browser" for view cmd 2019-11-13 13:59:32 -07:00
Mislav Marohnić
933086bae9 Merge remote-tracking branch 'origin/master' into pr-create 2019-11-13 19:31:02 +01:00
Mislav Marohnić
a275398dac Merge remote-tracking branch 'origin/master' into pr-create 2019-11-11 12:24:09 +01:00
Mislav Marohnić
8fea48146d Shorter representation of successful checks in pr status 2019-11-08 22:04:18 +01:00
Mislav Marohnić
f70accd3e0 pr status prints PR number in yellow
This matches `pr list`
2019-11-08 22:03:47 +01:00
Mislav Marohnić
e1f52fed01 Display checks, reviews on a new line to prevent terminal wrap 2019-11-08 21:04:47 +01:00
Mislav Marohnić
7419f7ae64 Add checks, reviews info to pr status 2019-11-08 21:04:47 +01:00
Mislav Marohnić
e6d55fff1c Calculate instead of hardcode the width of the PR number column 2019-11-06 18:53:58 +01:00
Mislav Marohnić
9133ad9f87 pr list: indicate state by color, useful for -s all 2019-11-06 18:48:41 +01:00
nate smith
e3a11c8ffb fix pr filtering 2019-11-06 18:10:22 +01:00
Mislav Marohnić
667704d574 Add pr list command
Old `pr list` is now `pr status`
2019-11-06 17:33:45 +01:00
nate smith
5087ec5c15 restore pr create with new context/client 2019-10-30 12:00:16 -05:00