Page MenuHomePhabricator

Improve two error handling behaviors in `arc upgrade`
ClosedPublic

Authored by epriestley on Oct 22 2015, 7:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 7, 10:34 AM
Unknown Object (File)
Thu, Mar 7, 10:32 AM
Unknown Object (File)
Thu, Mar 7, 10:32 AM
Unknown Object (File)
Thu, Mar 7, 10:27 AM
Unknown Object (File)
Thu, Mar 7, 9:55 AM
Unknown Object (File)
Thu, Mar 7, 9:41 AM
Unknown Object (File)
Mon, Mar 4, 6:40 PM
Unknown Object (File)
Fri, Mar 1, 1:06 PM
Subscribers
None

Details

Summary

Fixes T9222. Two issues here:

  • First, we currently continue on error. Throw instead. I just swapped us from "phutil_passthru()" to "execx()" since I don't think printing out the "pulling from remote..." status messages is very important, and this makes it easier to raise a useful exception.
  • Second, if you have a dirty working copy we currently may try to do some sort of silly stuff which won't work, like prompt you to amend changes. Instead, do a slightly lower-level check and just bail.
Test Plan
  • Ran arc upgrade with a dirty working copy and got a tailored, useful error.
  • Ran arc upgrade with an artificially bad git pull command, got a failure with a specific error message.

Diff Detail

Repository
rARC Arcanist
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Improve two error handling behaviors in `arc upgrade`.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Oct 22 2015, 7:45 PM
src/workflow/ArcanistWorkflow.php
1070–1077 ↗(On Diff #34563)

(Oh, I didn't actually need this. I'll toss it.)

epriestley edited edge metadata.
  • Slightly smaller changeset.
  • I'm about to press the "Land" button. Spooky!
  • Clean diff that might be more landable.
This revision was automatically updated to reflect the committed changes.

Okay, that eventually worked. Close enough!