Page MenuHomePhabricator

In "arc land", when "remote/onto" does not exist locally, try to fetch it before giving up
ClosedPublic

Authored by epriestley on Oct 28 2019, 6:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 21, 2:14 PM
Unknown Object (File)
Sat, Dec 14, 11:48 AM
Unknown Object (File)
Thu, Dec 12, 8:42 AM
Unknown Object (File)
Sat, Dec 7, 6:08 PM
Unknown Object (File)
Wed, Dec 4, 8:30 AM
Unknown Object (File)
Sun, Dec 1, 1:12 AM
Unknown Object (File)
Sat, Nov 30, 2:40 PM
Unknown Object (File)
Thu, Nov 28, 1:32 AM
Subscribers
None

Details

Summary

Fixes T10650. It's valid to arc land --remote origin --onto master without first fetching that ref. If we can't find a local ref for a specified remote branch, try to fetch it before giving up.

(In the long run, this should be valid even if the remote branch does not exist at all and the user intends to create it -- see T12876 -- but this is a step toward that.)

Test Plan
  • Ran rm .git/refs/remotes/origin/master, then landed into "master".
  • Before: "arc land" bailed out immediately.
  • After: "arc land" fetches the missing ref.
$ arc land
 TARGET  Landing onto "master", the default target under git.
 REMOTE  Using remote "origin", the default remote under Git.
 TARGET  No local ref exists for branch "master" in remote "origin", attempting fetch...
 FETCHED  Fetched branch "master" from remote "origin".
...

Diff Detail

Repository
rARC Arcanist
Branch
perforce4
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 23579
Build 32409: Run Core Tests
Build 32408: arc lint + arc unit

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Oct 28 2019, 6:31 PM
This revision was automatically updated to reflect the committed changes.