This feels like a workaround for git's contradictory ergonomics.