In our development process we often push feature branches to the repository server before they are ready for review. This way our CI server can automatically run all kinds of integration tests that take too long to run on a developer's machine. Once the branch is ready for review we do an arc diff, which works fine.
However, when trying to land the branch arc will get confused and tries to land the branch onto it's remote copy. It seems that because the local branch now tracks a remote branch, arc assumes it'll have to be landed onto that remote branch.
$ arc land Landing current branch 'mybranch'. TARGET Landing onto "mybranch", selected by following tracking branches upstream to the closest remote. REMOTE Using remote "origin", selected by following tracking branches upstream to the closest remote. FETCH Fetching origin/mybranch... Usage Exception: There are no commits on "mybranch" which are not already present on the target.
I would expect arc to identify the remote branch as an identical mirror of the local branch and instead land onto the local parent branch.