Having more than three phases (was RFC: Phase UI (revset, phase command and others))

Laurens Holst laurens.nospam at grauw.nl
Tue Jan 3 04:55:57 CST 2012


Op 03-01-12 10:38, Pierre-Yves David schreef:
> On Thu, Dec 29, 2011 at 01:22:51PM -0600, Matt Mackall wrote:
>> Not really sure why this is necessary. After all, we only share 
>> public and draft, so only the public/draft boundary every needs to be 
>> exposed remotely. 
> Exchanging secret boundary are actually useful to detect secret changeset that
> exist elsewhere. The current behavior when such (not so) secret changeset are
> detect is to set them in draft phase (at least).

I think the secret boundary should not be exchanged. By sharing you do 
give away some information, that at that point in time a changeset with 
that ID existed. Secret should mean secret, and you shouldn’t share this 
kind of information.

E.g. say I made something during company time, but wanted to keep it 
secret so I can push it when I’m at home and (technically) keep the 
copyrights on it. If my boss can then prove I made the changeset during 
work hours by showing server logs that contain the changeset ID, they’ve 
got a pretty strong case.

I’ve seen people publicly blogging changeset IDs to prove that a change 
was made without disclosing the contents of the changeset (to defend 
against possible patent claims with prior art), so this kind of use is 
not unrealistic.

~Laurens



More information about the Mercurial-devel mailing list