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)
Mon, Nov 18, 5:51 PM
Unknown Object (File)
Fri, Nov 8, 12:43 PM
Unknown Object (File)
Tue, Oct 29, 10:59 AM
Unknown Object (File)
Oct 20 2024, 5:48 PM
Unknown Object (File)
Oct 17 2024, 6:12 PM
Unknown Object (File)
Oct 17 2024, 3:20 AM
Unknown Object (File)
Oct 9 2024, 2:37 AM
Unknown Object (File)
Oct 2 2024, 1:37 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
Branch
up1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 8375
Build 9613: Run Core Tests
Build 9612: arc lint + arc unit

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!