My team's shared git repository tends to have long branch names, but, for convenience I often use shorter names in my local branches. So, for example, if I'm working with a remote branch named origin/personal/dibiase/land-example, I'll create a local tracking branch that's just named land-example. Then, when I'm working on features, I'll check out a new branch as usual, e.g. arc feature land-example-feature land-example, make my changes, and then run arc land.
It looks like arc land expects the local target branch to be named the same as the remote branch, however, so it fails with an error like this:
> arc land Landing current branch 'land-example-feature'. Switched to branch land-example. Updating branch... Switched back to branch land-example-feature. Exception Command failed with error #128! COMMAND git log 'origin/land-example'..'land-example' STDOUT (empty) STDERR fatal: ambiguous argument 'origin/land-example..land-example': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' (Run with `--trace` for a full exception trace.)
It would be nice if Arcanist could detect this case and use the name of the branch that the target branch is tracking.