[PATCH 3 of 4 V3] update: also suggest --merge when non-linear update is aborted

Gábor STEFANIK Gabor.STEFANIK at nng.com
Mon Feb 20 05:38:45 EST 2017


> 


--------------------------------------------------------------------------
This message, including its attachments, is confidential. For more information please read NNG's email policy here:
http://www.nng.com/emailpolicy/
By responding to this email you accept the email policy.


-----Original Message-----
> From: Mercurial-devel [mailto:mercurial-devel-bounces at mercurial-scm.org]
> On Behalf Of Augie Fackler
> Sent: Wednesday, February 15, 2017 11:25 PM
> To: Martin von Zweigbergk <martinvonz at google.com>
> Cc: mercurial-devel at mercurial-scm.org
> Subject: Re: [PATCH 3 of 4 V3] update: also suggest --merge when non-linear
> update is aborted
> 
> On Wed, Feb 15, 2017 at 12:56:41PM -0800, Martin von Zweigbergk via
> Mercurial-devel wrote:
> > # HG changeset patch
> > # User Martin von Zweigbergk <martinvonz at google.com> # Date
> 1487140898
> > 28800
> > #      Tue Feb 14 22:41:38 2017 -0800
> > # Node ID c6cd58d272aee6633fbad5eacdad742e2f9909cd
> > # Parent  542a99ede6c3ac7cb4afccd3703fcc30e3d4c90d
> > update: also suggest --merge when non-linear update is aborted
> 
> This makes me a touch nervous, since the merge can leave the user in an
> state that's hard to recover from.

Basically "hg resolve -au; hg resolve -at:local; hg update --merge -r$(head -c40 .hg/merge/state) -t:local"; but we need to expose a less hacky way of doing so. 

"hg update --abort"?

> 
> Series LG otherwise, but I won't land it since I'm also enthusiastic about the
> feature added in patch 4.
> 
> >
> > diff -r 542a99ede6c3 -r c6cd58d272ae mercurial/merge.py
> > --- a/mercurial/merge.py	Mon Feb 13 16:03:05 2017 -0800
> > +++ b/mercurial/merge.py	Tue Feb 14 22:41:38 2017 -0800
> > @@ -1570,7 +1570,8 @@
> >                          pass # allow updating to successors
> >                      else:
> >                          msg = _("uncommitted changes")
> > -                        hint = _("commit or update --clean to discard changes")
> > +                        hint = _("commit, or use --clean to discard changes, "
> > +                                 "or use --merge to allow update")
> >                          raise error.UpdateAbort(msg, hint=hint)
> >                  else:
> >                      # Allow jumping branches if clean and specific
> > rev given diff -r 542a99ede6c3 -r c6cd58d272ae tests/test-merge5.t
> > --- a/tests/test-merge5.t	Mon Feb 13 16:03:05 2017 -0800
> > +++ b/tests/test-merge5.t	Tue Feb 14 22:41:38 2017 -0800
> > @@ -26,7 +26,7 @@
> >
> >    $ hg update 1
> >    abort: uncommitted changes
> > -  (commit or update --clean to discard changes)
> > +  (commit, or use --clean to discard changes, or use --merge to allow
> > + update)
> >    [255]
> >    $ mv c a
> >
> > diff -r 542a99ede6c3 -r c6cd58d272ae tests/test-subrepo-svn.t
> > --- a/tests/test-subrepo-svn.t	Mon Feb 13 16:03:05 2017 -0800
> > +++ b/tests/test-subrepo-svn.t	Tue Feb 14 22:41:38 2017 -0800
> > @@ -472,7 +472,7 @@
> >    $ echo "updating should (maybe) fail" > obstruct/other
> >    $ hg co tip
> >    abort: uncommitted changes
> > -  (commit or update --clean to discard changes)
> > +  (commit, or use --clean to discard changes, or use --merge to allow
> > + update)
> >    [255]
> >
> >  Point to a Subversion branch which has since been deleted and
> > recreated diff -r 542a99ede6c3 -r c6cd58d272ae tests/test-update-
> branches.t
> > --- a/tests/test-update-branches.t	Mon Feb 13 16:03:05 2017 -0800
> > +++ b/tests/test-update-branches.t	Tue Feb 14 22:41:38 2017 -0800
> > @@ -123,19 +123,19 @@
> >
> >    $ revtest 'none dirty same'   dirty 2 3
> >    abort: uncommitted changes
> > -  (commit or update --clean to discard changes)
> > +  (commit, or use --clean to discard changes, or use --merge to allow
> > + update)
> >    parent=2
> >    M foo
> >
> >    $ revtest 'none dirtysub same'   dirtysub 2 3
> >    abort: uncommitted changes
> > -  (commit or update --clean to discard changes)
> > +  (commit, or use --clean to discard changes, or use --merge to allow
> > + update)
> >    parent=2
> >    M sub/suba
> >
> >    $ revtest 'none dirty cross'  dirty 3 4
> >    abort: uncommitted changes
> > -  (commit or update --clean to discard changes)
> > +  (commit, or use --clean to discard changes, or use --merge to allow
> > + update)
> >    parent=3
> >    M foo
> >
> > @@ -147,7 +147,7 @@
> >
> >    $ revtest 'none dirtysub cross'  dirtysub 3 4
> >    abort: uncommitted changes
> > -  (commit or update --clean to discard changes)
> > +  (commit, or use --clean to discard changes, or use --merge to allow
> > + update)
> >    parent=3
> >    M sub/suba
> >
> > @@ -258,7 +258,7 @@
> >
> >    $ revtest 'dirty cross'  dirty 3 4
> >    abort: uncommitted changes
> > -  (commit or update --clean to discard changes)
> > +  (commit, or use --clean to discard changes, or use --merge to allow
> > + update)
> >    parent=3
> >    M foo
> >
> > @@ -476,7 +476,7 @@
> >    $ hg up --quiet 2
> >    $ hg up 5
> >    abort: uncommitted changes
> > -  (commit or update --clean to discard changes)
> > +  (commit, or use --clean to discard changes, or use --merge to allow
> > + update)
> >    [255]
> >
> >  Test that we don't crash when updating from a pruned changeset (i.e.
> > has no _______________________________________________
> > Mercurial-devel mailing list
> > Mercurial-devel at mercurial-scm.org
> > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list