[PATCH 09 of 11 V5] update: accept --merge to allow merging across topo branches (issue5125)
Denis Laxalde
denis.laxalde at logilab.fr
Tue Feb 28 04:36:59 EST 2017
Martin von Zweigbergk via Mercurial-devel a écrit :
> # HG changeset patch
> # User Martin von Zweigbergk <martinvonz at google.com>
> # Date 1487019517 28800
> # Mon Feb 13 12:58:37 2017 -0800
> # Node ID d23e5a40f9c4c8d3459255c6c2cb633452b914d8
> # Parent b99e3df11bb16c8c1118f2bf29ea0d0816591259
> update: accept --merge to allow merging across topo branches (issue5125)
>
> diff -r b99e3df11bb1 -r d23e5a40f9c4 mercurial/commands.py
> --- a/mercurial/commands.py Mon Feb 27 15:09:19 2017 -0800
> +++ b/mercurial/commands.py Mon Feb 13 12:58:37 2017 -0800
> @@ -5279,12 +5279,13 @@
> @command('^update|up|checkout|co',
> [('C', 'clean', None, _('discard uncommitted changes (no backup)')),
> ('c', 'check', None, _('require clean working directory')),
> + ('m', 'merge', None, _('merge local changes')),
It's not obvious to me what "local changes" means, perhaps "uncommitted
changes" would be better (more consistent with the docstring also).
> ('d', 'date', '', _('tipmost revision matching date'), _('DATE')),
> ('r', 'rev', '', _('revision'), _('REV'))
> ] + mergetoolopts,
> - _('[-C|-c] [-d DATE] [[-r] REV]'))
> + _('[-C|-c|-m] [-d DATE] [[-r] REV]'))
> def update(ui, repo, node=None, rev=None, clean=False, date=None, check=False,
> - tool=None):
> + merge=None, tool=None):
> """update working directory (or switch revisions)
>
> Update the repository's working directory to the specified
> @@ -5303,8 +5304,8 @@
>
> .. container:: verbose
>
> - The -C/--clean and -c/--check options control what happens if the
> - working directory contains uncommitted changes.
> + The -C/--clean, -c/--check, and -m/--merge options control what
> + happens if the working directory contains uncommitted changes.
> At most of one of them can be specified.
>
> 1. If no option is specified, and if
> @@ -5316,10 +5317,14 @@
> branch), the update is aborted and the uncommitted changes
> are preserved.
>
> - 2. With the -c/--check option, the update is aborted and the
> + 2. With the -m/--merge option, the update is allowed even if the
> + requested changeset is not an ancestor or descendant of
> + the working directory's parent.
> +
> + 3. With the -c/--check option, the update is aborted and the
> uncommitted changes are preserved.
>
> - 3. With the -C/--clean option, uncommitted changes are discarded and
> + 4. With the -C/--clean option, uncommitted changes are discarded and
> the working directory is updated to the requested changeset.
More information about the Mercurial-devel
mailing list