2011/3/11 Kelly O'Hair <span dir="ltr"><<a href="mailto:kelly.ohair@oracle.com" target="_blank">kelly.ohair@oracle.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
in the repository. If there are frequent pushes going on, either from too much activity or too many developers,<br>
someone may experience a:<br>
   hg push    # fails because you need to do a pull "too many heads message"<br>
   hg pull -u && hg merge && hg commit -m Merge    #  Or hg fetch<br>
   hg push   # fails because you took too long and someone else pushed a new one<br>
   hg pull -u && hg merge && hg commit -m Merge    #  Or hg fetch<br>
   hg push   # fails because you took too long and someone else pushed a new one<br>
 </blockquote><br>I suppose this is related to the fact that mercurial has developed over time.<br>But today, using merge to solve this problem would be ill advised.<br>I think it is much better to use the rebase extension to do <br>
hg pull --rebase<br><br>This will move your outgoing changes to the tip and avoid the creation of an unnecessary merge node.<br><br>Assuming that you have a large number of committers at work at the same time, a simple solution<br>
is to have the committers add themselves to a queue, then they get a message (IM,mail or otherwise)<br>when they have exclusive access. When they are done, they relinquish their exclusive acces or<br>it will be revoked automatically after 5 minutes.<br>
<br>Fredrik Öhrström<br>
</div>