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

Piotr Listkiewicz piotr.listkiewicz at gmail.com
Wed Apr 13 04:50:03 EDT 2016


>
> You should be able to rephrase this to not need the code sample. Something
> like "The effect of updating to the parent of wctx is to move to the
> parent's branch; this means that it is no longer necessary to prevent you
> from updating if you would lose your newly created branch".


You are right, I changed this in V8

2016-04-11 21:16 GMT+02:00 Simon Farnsworth <simonfar at fb.com>:

>
>
> On 11/04/2016 18:37, 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 9b92231d66d9e4f41dd36bfc5f34264d8a8e9113
>> # Parent  c5565fc8848dd084d104ca40c33d1acdfcff8bc6
>> 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.
>>
>> This commit deletes lines:
>>
>>         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)
>>
>>
> This chunk of commit message is unnecessary - I can see what you've
> deleted by looking at the diff.
>
> They are no longer necessary because when parent of wctx exists,
>> then it updates to it. When it does not, it means that repo is
>> newly created(has no changesets), so update should stay on null
>> parent.
>>
>
> You should be able to rephrase this to not need the code sample. Something
> like "The effect of updating to the parent of wctx is to move to the
> parent's branch; this means that it is no longer necessary to prevent you
> from updating if you would lose your newly created branch".
>
>
>> diff -r c5565fc8848d -r 9b92231d66d9 mercurial/destutil.py
>> --- a/mercurial/destutil.py     Wed Apr 06 22:26:47 2016 -0400
>> +++ 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 c5565fc8848d -r 9b92231d66d9 tests/test-newbranch.t
>> --- a/tests/test-newbranch.t    Wed Apr 06 22:26:47 2016 -0400
>> +++ 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=7AfD_mdb3FuBU5-UM7F2cqjFL9oI9SsbrCrOvESHEMY&s=u8hq0WrtboYcBLt-rdRSx3IUS6ZQn8X0qByGFMQIJOQ&e=
>>
>>
> --
> Simon Farnsworth
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20160413/ecef656a/attachment.html>


More information about the Mercurial-devel mailing list