#pragma section-numbers 2 <> = hg goto = '''Status: Early Proposal''' /!\ This is a work in progress == Goal == Reinvent `hg update` without the backwards compatibility concerns. == Proposal == From mpm at https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-June/085378.html: * 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. ----- CategoryDeveloper CategoryNewFeatures