resolve #228: git sync abort edge case

@kevgo
Given that this now undoes all merges properly, I would expect a whole lot of specs to change.