From ArcanistUpgradeWorkflow:
try { phutil_passthru('git pull --rebase'); } catch (Exception $ex) { phutil_passthru('git rebase --abort'); throw $ex; }
Nothing's checking the return value of phutil_passthru (the exit status of the git pull). So even if there's an error, the "now up to date" message is still printed.