This page is primarily intended for Mercurial's developers.
Status: Early Proposal
This is a work in progress
Reinvent hg update without the backwards compatibility concerns.
- aborts if the working copy is dirty
- use --merge to allow a merge or --clean to discard changes
- no need for the confusing --check flag
- allow merging working changes across branches
- no auto-advancing the active bookmark with no args
Other update related feature could also find a caring home in that command
- prev/next feature from evolve
As a bonus, the common beginner mistake of thinking "update" only goes forward and then trying to use "revert" to go backwards will probably go away. As for the "merge-if-trivial" mode (which I agree is useful), I'd prefer to do that by refactoring the merge code. There are lots of places where we'd like to do such merges (via --tool, perhaps) and even a few places where we'd like to ask the question of whether a merge is trivial without touching the working copy.