Commit graph

20 commits

Author SHA1 Message Date
EBIBO
14a8e03bc3
gh repo sync should be able to sync a local branch with an upstream remote (#8229) 2023-11-20 10:37:59 +00:00
Sam Coe
ddfe476ff9
Remove old code paths and improve code comments for repo sync (#7610) 2023-06-23 11:32:48 +00:00
William Martin
fa8b514bf1 Early exit repo sync if merge-upstream requires workflow scope 2023-06-21 15:47:33 +02:00
Marco Carvalho
3b23978114
repo sync: clearer error message with actionable hint (#7110)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2023-03-28 18:43:31 +00:00
Sam Coe
c89d0402bb
Improved error messaging for repo sync scenario (#6430) 2022-10-14 09:46:12 +00:00
Håvard Anda Estensen
58cb773e09
Replace ioutil with io and os (#5498) 2022-04-26 13:07:44 +02:00
Mislav Marohnić
1260023547 repo sync: Use the new merge-upstream API if available
This helps avoid the errors when a new commit from upstream is not yet
available in the fork, resulting in a HTTP 404 when trying to update the
ref in the fork.

If the merge-upstream API is unavailable (404) or errors out (409/422),
the functionality falls back to the previous functionality of manually
updating refs. This ensures that `--force` still has effect.
2021-12-21 16:44:27 +01:00
Mislav Marohnić
11fbb60ae7 Rename the module to "github.com/cli/cli/v2" 2021-08-25 12:41:30 +02:00
Mislav Marohnić
f4bded30f8 Mark test helper 2021-08-10 14:30:55 +02:00
Mislav Marohnić
0f1ab13b9e Only check if working copy is dirty when syncing current branch
In other cases, we don't have to abort the operation since it can
proceed without being affected by the working copy at all.
2021-08-10 14:29:23 +02:00
Mislav Marohnić
66ad6ad7d0 Avoid git checkout during gh repo sync
- If the local branch already exists, use `git update-ref`
- If it needs to be created, use `git branch <newbranch>`, but don't
  switch to the new branch

Bonus fixes
- Enables operation while on detached HEAD
- Enables operation even when the current remote doesn't track all
  branches in the remote repo (uses FETCH_HEAD instead of the
  `<remote>/<branch>` syntax)
2021-08-09 22:10:52 +02:00
Sam Coe
174e26ecac
Fix tests 2021-08-04 18:26:30 -07:00
Sam Coe
a1e1842e6d
Catch a couple more edge cases 2021-06-29 20:48:30 -07:00
Sam Coe
0b80c30789
Fix remote resolving for source repo 2021-06-28 17:00:06 -07:00
Sam Coe
5481b2b5e6
Move dirty repo check before any network calls 2021-06-24 09:08:36 -07:00
Sam Coe
8219710551
Address PR comments 2021-06-23 14:20:14 -07:00
Sam Coe
0e838052a4
Rewrite tests with new mocks 2021-06-23 12:01:58 -07:00
Sam Coe
8423de7f50
Add tests 2021-06-14 10:54:28 -04:00
Sam Coe
8b5abc77ea
Extract git interactions into interface 2021-06-14 10:51:51 -04:00
Sam Coe
c6f89d3c17
Start tests 2021-06-14 10:51:50 -04:00