The perils of writing code one cannot easily test.  Fully concur that there's a problem as written.  Looks like I misread a similar snippet in lib/scm/adapters/git/head.rb that let me to think a return code would result.

What about pushing the conditional into the command begin run, then making the callee always just check parse().last?
run("#{back_to_front} || #{front_to_back}")

I can redo a push with that change if the explanation is unclear.