arxanas / git-branchless

High-velocity, monorepo-scale workflow for Git
Apache License 2.0
3.38k stars 80 forks source link

[5/7] feat(submit:phabricator): do not abort entire process on failure #1202

Open arxanas opened 5 months ago

arxanas commented 5 months ago

Stack:


feat(submit:phabricator): do not abort entire process on failure

Currently, git submit for Phabricator will abort the entire operation if any commit fails to be submitted. This means that if arc diff succeeds on one commit and then fails on its child, the entire operation is aborted. However, the first arc diff had side effects, so the user gets diffs uploaded to Phabricator that are not reflected locally. Instead, we should confirm any passing commits and abort after we get a failing commit. This commit updates the Phabricator forge to handle the error case better and not produce garbage commits on Phabricator.