Bug 3786 - Phase boundary is not moved on 'hg push -r' when no changeset is exchanged
Summary: Phase boundary is not moved on 'hg push -r' when no changeset is exchanged
Status: RESOLVED FIXED
Alias: None
Product: Mercurial
Classification: Unclassified
Component: Mercurial (show other bugs)
Version: earlier
Hardware: PC Linux
: normal bug
Assignee: Bugzilla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-28 09:16 UTC by Pierre-Yves David
Modified: 2014-07-19 14:17 UTC (History)
5 users (show)

See Also:
Python Version: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre-Yves David 2013-01-28 09:16 UTC
The following test fail on all phase enabled version

> --- a/tests/test-phases-exchange.t
> +++ b/tests/test-phases-exchange.t
> @@ -94,10 +94,23 @@ push from alpha to beta should update ph
>    |
>    o  1 public a-B - 548a3d25dbf0
>    |
>    o  0 public a-A - 054250a37db4
>    
> +  $ hg push -r 2 ../beta
> +  pushing to ../beta
> +  searching for changes
> +  no changes found
> +  [1]
> +  $ hgph
> +  @  3 draft a-D - b555f63b6063
> +  |
> +  o  2 public a-C - 54acac6f23ab
> +  |
> +  o  1 public a-B - 548a3d25dbf0
> +  |
> +  o  0 public a-A - 054250a37db4
>    $ hg push ../beta
>    pushing to ../beta
>    searching for changes
>    no changes found
>    [1]

The phase on 2 is not changeset and 2 stay draft. The push below without --rev
works as expectable.
Comment 1 Martin Geisler 2013-07-02 09:34 UTC
Confirmed on 2.6.3 too.
Comment 2 HG Bot 2014-01-23 19:15 UTC
Fixed by http://selenic.com/repo/hg/rev/b396032e1bb8
Pierre-Yves David <pierre-yves.david@logilab.fr>
phase: properly compute ancestors of --rev on push (issue3786)

Now that discovery is working on unfiltered changeset, I had a good occasion to
look at that bug again. This let me realise that a trivial node vs rev
comparision was the cause of this two years old bugs?

Happy second birthday phases!

(please test the fix)