Git workflows in `arc land` have been completely rewritten to fix issues on a large number of //unorthodox// or //creative// flows.
Mercurial, SVN, Git/SVN and Hg/SVN are not affected.
In particular:
- We try much harder to put you back where you started on failure, instead of stopping in the middle and asking you to resolve things.
- The author and author date are now preserved.
- You can land from a detached HEAD.
- You can land from a tag.
- You can land a branch onto itself.
- You can land onto a remote branch without having a local copy of that branch.
- You can land onto a remote branch with a local copy of the branch which isn't really that branch but is just some other branch which you've named the same thing as the other branch.
- Upstreams are resolved recursively until we find one in a remote, fail to reach a remote, or are trapped in a cycle.
- Remote and target selection behavior is now more explicit and more clearly communicated.
- `arc help land` is more descriptive and complete.
If you run into cases on the new flow that don't work well or where the workflow or error behavior are unclear, let us know.
For more context, see T3855, T9537, T8620, T4333, T9543.