Commit graph

34 commits

Author SHA1 Message Date
Mislav Marohnić
0e9b48d876
Merge pull request #719 from cli/upstream-remote
Automatically set up "upstream" remote for forks
2020-03-31 17:10:50 +02:00
Mislav Marohnić
8460609181 repo clone: automatically set up "upstream" remote for forks 2020-03-31 15:32:52 +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ć
da2116f8ee Merge remote-tracking branch 'origin/master' into pr-create-push-default 2020-03-30 13:32:37 +02:00
Nate Smith
26022bc684
Merge pull request #690 from cli/repo-view-terminal
Add ability to view repo in terminal and do it by default
2020-03-25 11:32:26 -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
Mislav Marohnić
bc3f964621
Merge pull request #697 from tariq1890/simple_sort
simplify sort string slice method call
2020-03-25 07:34:29 +01:00
Tariq Ibrahim
653229c7b5
simplify sort string slice method call 2020-03-24 22:47:51 -07:00
vilmibm
379ecdab54 move readme fetching to api package 2020-03-24 15:21:18 -05:00
vilmibm
3459dfab95 add viewing repo in terminal 2020-03-20 16:26:49 -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ć
f9c32654e9 Fix setting homepage URL in repo create 2020-03-09 12:53:41 +01:00
Mislav Marohnić
52cc04e300 Merge remote-tracking branch 'origin/master' into repo-create 2020-03-03 22:55:49 +01:00
Nate Smith
3d7733870e
Merge branch 'master' into repo-fork 2020-03-03 15:40:54 -06:00
Mislav Marohnić
be09717918 Add ability to repo create within an org 2020-03-03 21:49:47 +01:00
Mislav Marohnić
8deb0d8783 repo create NAME offers to set up when ran outside of a git repo 2020-03-03 21:07:51 +01:00
vilmibm
3019137133 no longer needed 2020-02-27 16:46:12 -06:00
vilmibm
7fad2d05fb switch to alternate method for determining if repo already forked 2020-02-27 16:43:44 -06:00
vilmibm
256bdabf03 slight refactor
I didn't initially use GitHubRepo because it had the weird error
wrapping. I poked around and I think this function is leftover from a
vestigial GitHubRepoID function that used to be more single-purpose. I
took out the weird error handling so it could be reused and then used it
from the new GitHubRepoExists.
2020-02-26 16:48:29 -06:00
Mislav Marohnić
b02dac8f0b Accept more repo fields via flags to repo create 2020-02-26 18:45:21 +01:00
vilmibm
6eaab2562f add repo fork command 2020-02-25 16:26:51 -06:00
Dasio
9289ab99f2 Use var syntax when empty struct is initialized 2020-02-24 22:33:22 +01:00
Dasio
8aa46c236e Init slice with provided capacity if it's known in advance 2020-02-24 22:16:41 +01:00
Mislav Marohnić
a710893fc1 Rename to cli/cli 2020-01-24 16:08:52 +01:00
Mislav Marohnić
b44dad2319 Merge remote-tracking branch 'origin/master' into no-errors-wrap 2020-01-23 16:46:56 +01:00
Mislav Marohnić
9122bc181c Migrate away from errors.Wrap()
Turns out the "standard" way of wrapping errors in Go is via
`fmt.Errorf("%w")`, which doesn't require an external package and also allows a
finer control of error sentence formatting.
2020-01-23 13:19:28 +01:00
Mislav Marohnić
1f90579d2a Extract common interface for a GitHub Repository
Also define a handful of utility methods:
- `New(owner, repo)`
- `FullName`: the name slash owner pair
- `FromFullName`: parse the name slash owner pair
- `FromURL`: parse a GitHub.com URL
- `IsSame(r1, r2)`: compare two repositories
2020-01-22 22:44:46 +01:00
Mislav Marohnić
a767fd7910 Add code comments for tricky parts 2020-01-22 18:37:50 +01:00
Mislav Marohnić
e2a825effb Auto-fork on pr create if no pushable target found 2020-01-22 18:32:06 +01:00
Mislav Marohnić
2aaffc69a2 Clean up obsolete struct 2020-01-21 23:20:50 +01:00
Mislav Marohnić
7a614ce697 Support triangular git workflows in pr create
- The local git remotes are scanned and resolved to GitHub repositories
- The "base" repo is the first result resolved to its parent repo (if a fork)
- The name of the default branch is read from the base repo
- The "head" repo is the first repo that has push access
2020-01-21 18:26:08 +01:00
Mislav Marohnić
66534e504b Warn about repo issues disabled on issue create 2019-12-19 15:44:20 +01:00
Mislav Marohnić
25142d4895 Add issue create test 2019-11-08 15:20:24 +01:00