Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>You will probably get a better answer on the mailing list for this, but my understanding is this:</p> <p><code>hg pull</code> has always been a read-only command and can be run without write access to the remote repository. Changing the phase in the remote repository would (obviously) require a write. On the other hand, <code>hg push</code> has always written to the remote repository, and so phases introduced no change.</p> <p>Changing <code>hg pull</code> from read-only to read-write could cause some people's work flows to break, and that's a mortal sin in mercurial development. (E.g. An anonymous user pulling from a public server, sending back changes via e-mail bundles)</p> <p>Basically it's a historical quirk because phases are a retro-fit.</p> <p>The hole this leaves open is that the original owner of the change-set could amend it, without realising that the change has already gone into the wild. I expect that this hole hasn't worried too many people because the "change-set evolution" features that are being developed solve the problem in a better way.</p> <p>I tend to think of the phases as:</p> <ul> <li>Public - Publicly visible and immutable</li> <li>Draft - Publicly visible and mutable</li> <li>Secret - Not publicly visible and mutable</li> </ul> <p>I think <code>draft</code> is only there because that's basically where we were before phases were added, and is a bit of a weak concept. Really, if your working in an environment where people may pull directly from you, then I suggest working more with <code>public</code> and <code>secret</code> phases, and avoid <code>draft</code>.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload