Can't you do the swap in `git__swap`?