[PATCH 4 of 4 phases] phases: fix phase synchronization on push

David Pierre-Yves marmoute at gmail.com
Sat Jan 7 16:55:29 UTC 2012


On 6 janv. 12, at 23:22, Matt Mackall wrote:

> On Fri, 2012-01-06 at 07:02 +0100, Pierre-Yves David wrote:
>> On Thu, Jan 05, 2012 at 09:49:21PM -0600, Matt Mackall wrote:
>>> On Wed, 2012-01-04 at 01:20 +0100, Pierre-Yves David wrote:
>>>> # HG changeset patch
>>>> # User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
>>>> # Date 1325635951 -3600
>>>> # Node ID e2a8777c92bd878fb52add317c0dd1ab7e56dc80
>>>> # Parent  e68589dcd419836ce7e2321f459ce58fe86ace2b
>>>> phases: fix phase synchronization on push
>>>
>>> Is this dependent on the others?
>>
>> Yes, it use phase revset symbol.
>>
>>> I think we still need to resolve the question: why does it make  
>>> sense to
>>> report any phases other than the public/draft boundary via  
>>> pushkey? By
>>> definition, remote has no business knowing about secret changesets.
>>
>> This also implies to resolved the "do we want to allow additional  
>> phase between
>> public and secret". If we do, such phase need to be exchanged too.
>
> http://markmail.org/message/culw2mdl4rsfeak6
>
> I think pragmatically, it will be impossible to introduce such phases
> without also making corresponding future extensions to the wire  
> protocol
> in some fashion because the new phases will imply new semantics that
> conforming clients will need to be aware of. So we can cross that  
> bridge
> when we come to it.
>
> If you can think of any realistic use for this hypothetical in-between
> phase today, let's here about it. Otherwise, you're over-engineering.
> Don't design for all possible futures, design for likely ones.

I had a "realistic proposal in there" what do you think about it ?:

	http://markmail.org/thread/crg2zyg3zxbifxmr#query:+page:1+mid:izyoafcvi464qq7x+state:results

We had a long discussion about phases yesterday at the Zurich mini- 
sprint. In particular about other usage for phase. Olav from Aragost  
made the argument that such functionality is better implemented by  
hooks, dedicated extensions or tool external to the dvcs itself. In  
particular, Suggested usages often try to register property (e.g.,  
"passed QA" or "production ready") on a specific node and not just a  
whole consisted part of the dag. Just because node X passes QA doesn't  
imply that its ancestor did - in fact, it is almost certainly not the  
case.

He was pretty convincing and I'm starting to think that the current  
three phases is a model which is better kept simple.

-- 
Pierre-Yves David



More information about the Mercurial-devel mailing list