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

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


>
> I'm confused here; the previous commit in the series removed the abort you
> discuss in the commit message.
> Could you clean up the commit messages so that each commit message stands
> alone (i.e. if patch 1 of 2 is accepted, your commit message for patch 2 of
> 2 makes sense when you resend patch 2 of 2 as a single commit)?


Right i changed it in V8 with correcting spelling mistakes as well.

2016-04-11 21:23 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 1459834201 -7200
>> #      Tue Apr 05 07:30:01 2016 +0200
>> # Node ID b7570c990ffb801db755c3e5d3e1502ca7ffd31f
>> # Parent  9b92231d66d9e4f41dd36bfc5f34264d8a8e9113
>> update: fix bare --clean to work on new branch (issue5003) (BC)
>>
>> So far 'hg update --clean' on newly created branch results in abort
>> with branch not found error. After applying this commit bare
>> update --clean results in updating to the max head of the parents
>> branch.
>>
>> This seems reasonable as clean should discard uncommited changes,
>> branch is one of them.
>>
>
> I'm confused here; the previous commit in the series removed the abort you
> discuss in the commit message.
>
> Could you clean up the commit messages so that each commit message stands
> alone (i.e. if patch 1 of 2 is accepted, your commit message for patch 2 of
> 2 makes sense when you resend patch 2 of 2 as a single commit)?
>
>
>> diff -r 9b92231d66d9 -r b7570c990ffb mercurial/destutil.py
>> --- a/mercurial/destutil.py     Tue Apr 05 06:53:33 2016 +0200
>> +++ b/mercurial/destutil.py     Tue Apr 05 07:30:01 2016 +0200
>> @@ -95,14 +95,24 @@ def _destupdatebranch(repo, clean, check
>>       wc = repo[None]
>>       movemark = node = None
>>       currentbranch = wc.branch()
>> -    if currentbranch in repo.branchmap():
>> -        heads = repo.branchheads(currentbranch)
>> +
>> +    if clean:
>> +        heads = repo.branchheads(repo['.'].branch())
>>           if heads:
>>               node = repo.revs('max(.::(%ln))', heads).first()
>> -        if bookmarks.isactivewdirparent(repo):
>> -            movemark = repo['.'].node()
>> +            if currentbranch not in repo.branchmap():
>> +                repo.ui.warn(_('uncommited branch %s does not exist, '
>>
>
> Spelling nit:
> s/uncommited/uncommitted/
>
>
> +                               'updating to the head of parent branch\n')
>> +                             % currentbranch)
>>       else:
>> -        node = repo['.'].node()
>> +        if currentbranch in repo.branchmap():
>> +            heads = repo.branchheads(currentbranch)
>> +            if heads:
>> +                node = repo.revs('max(.::(%ln))', heads).first()
>> +            if bookmarks.isactivewdirparent(repo):
>> +                movemark = repo['.'].node()
>> +        else:
>> +            node = repo['.'].node()
>>       return node, movemark, None
>>
>>   def _destupdatebranchfallback(repo, clean, check):
>> diff -r 9b92231d66d9 -r b7570c990ffb tests/test-newbranch.t
>> --- a/tests/test-newbranch.t    Tue Apr 05 06:53:33 2016 +0200
>> +++ b/tests/test-newbranch.t    Tue Apr 05 07:30:01 2016 +0200
>> @@ -391,3 +391,58 @@ We expect that bare update on new branch
>>     commit: (new branch)
>>     update: (current)
>>     phases: 3 draft
>> +
>> +  $ cd ..
>> +
>> +We expects that update --clean discard changes in working directory,
>>
>
> Typo:
> s/We expects/we expect/
>
> +and updates to the head of parent branch.
>> +
>> +  $ hg init updatebareclean
>> +  $ cd updatebareclean
>> +  $ hg update --clean
>> +  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 log
>> +  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
>> +
>> +  changeset:   0:3903775176ed
>> +  user:        test
>> +  date:        Thu Jan 01 00:00:00 1970 +0000
>> +  summary:     a
>> +
>> +  $ hg update -r 1
>> +  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
>> +  $ hg branch new-branch
>> +  marked working directory as branch new-branch
>> +  (branches are permanent and global, did you want a bookmark?)
>> +  $ echo "aa" >> a
>> +  $ hg update --clean
>> +  uncommited branch new-branch does not exist, updating to the head of
>> parent branch
>> +  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
>> +  $ hg status
>> +  $ hg branch
>> +  default
>> +  $ hg parent
>> +  changeset:   2:991a3460af53
>> +  tag:         tip
>> +  user:        test
>> +  date:        Thu Jan 01 00:00:00 1970 +0000
>> +  summary:     c
>> +
>> _______________________________________________
>> 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=Za0hwMuXQiP_DdP1tWPR2KdNWe2hOaHHB8-RGftaE7A&s=iK47-0nwQa5KsjCccIXPQaVReRH0yDiUUcijMT1gwIE&e=
>>
>>
> --
> Simon Farnsworth
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20160413/7730399a/attachment.html>


More information about the Mercurial-devel mailing list