[PATCH 1 of 2 V8] update: fix bare update to work on new branch (BC)

Simon Farnsworth simonfar at fb.com
Wed Apr 13 06:28:58 EDT 2016


On 13/04/2016 09:48, liscju wrote:
> # HG changeset patch
> # User liscju <piotr.listkiewicz at gmail.com>
> # Date 1459832013 -7200
> #      Tue Apr 05 06:53:33 2016 +0200
> # Node ID cabc4e5224db4d4f02e4460f4349df2e7ffd2e52
> # Parent  02be5fc18c0c70c087a9d1ab5ffe5afce926f227
> update: fix bare update to work on new branch (BC)
>
> So far bare update on new branch results in
> 'abort: branch new-branch not found'. This commit fixes
> this by updating to the parent of wctx.
>
> The effect of updating to the parent of wctx is to move to the paren't
> branch - this means that it is no longer necessary to prevent you from
> updating if you would lose your newly created branch.
>

Nearly there! Nitpick: "This commit" should be unnecessary - unless you 
specify otherwise, it's implied that the changes you discuss in the 
commit message are the changes made in this commit.

Thus, you can reword this as "... new-branch not found'. Fix this by 
updating to the parent of wctx."

Also, "paren't" looks like a typo.

> diff -r 02be5fc18c0c -r cabc4e5224db mercurial/destutil.py
> --- a/mercurial/destutil.py	Wed Mar 09 10:47:33 2016 -0500
> +++ b/mercurial/destutil.py	Tue Apr 05 06:53:33 2016 +0200
> @@ -102,11 +102,7 @@ def _destupdatebranch(repo, clean, check
>           if bookmarks.isactivewdirparent(repo):
>               movemark = repo['.'].node()
>       else:
> -        if currentbranch == 'default': # no default branch!
> -            # update to the tipmost non-closed branch head
> -            node = repo.revs('max(head() and not closed())').first()
> -        else:
> -            raise error.Abort(_("branch %s not found") % currentbranch)
> +        node = repo['.'].node()
>       return node, movemark, None
>
>   def _destupdatebranchfallback(repo, clean, check):
> diff -r 02be5fc18c0c -r cabc4e5224db tests/test-newbranch.t
> --- a/tests/test-newbranch.t	Wed Mar 09 10:47:33 2016 -0500
> +++ b/tests/test-newbranch.t	Tue Apr 05 06:53:33 2016 +0200
> @@ -211,8 +211,7 @@ Update with no arguments: tipmost revisi
>     marked working directory as branch foobar
>
>     $ hg up
> -  abort: branch foobar not found
> -  [255]
> +  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
>
>   Fast-forward merge:
>
> @@ -345,3 +344,50 @@ 2 branch heads, implicit merge works:
>     (branch merge, don't forget to commit)
>
>     $ cd ..
> +
> +We expect that bare update on new branch, updates to parent
> +
> +  $ hg init bareupdateonnewbranch
> +  $ cd bareupdateonnewbranch
> +  $ hg update
> +  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> +  $ touch a
> +  $ hg commit -A -m "a"
> +  adding a
> +  $ touch b
> +  $ hg commit -A -m "b"
> +  adding b
> +  $ touch c
> +  $ hg commit -A -m "c"
> +  adding c
> +  $ hg update -r 1
> +  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
> +  $ hg log -G
> +  o  changeset:   2:991a3460af53
> +  |  tag:         tip
> +  |  user:        test
> +  |  date:        Thu Jan 01 00:00:00 1970 +0000
> +  |  summary:     c
> +  |
> +  @  changeset:   1:0e067c57feba
> +  |  user:        test
> +  |  date:        Thu Jan 01 00:00:00 1970 +0000
> +  |  summary:     b
> +  |
> +  o  changeset:   0:3903775176ed
> +     user:        test
> +     date:        Thu Jan 01 00:00:00 1970 +0000
> +     summary:     a
> +
> +  $ hg branch dev
> +  marked working directory as branch dev
> +  (branches are permanent and global, did you want a bookmark?)
> +  $ hg update
> +  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> +  $ hg summary
> +  parent: 1:0e067c57feba
> +   b
> +  branch: dev
> +  commit: (new branch)
> +  update: (current)
> +  phases: 3 draft
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mercurial-2Dscm.org_mailman_listinfo_mercurial-2Ddevel&d=CwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=mEgSWILcY4c4W3zjApBQLA&m=94wDFOL_oBC1eZX0h_kzxGggof_V8t4j8dWo1VPU_Jc&s=d4pyq5zvz_oRSVMgC1i22yWGxBovGMYJfRlJ0_iglJo&e=
>

-- 
Simon Farnsworth


More information about the Mercurial-devel mailing list