[RFC] Server-side rebasing extension

Angel Ezquerra angel.ezquerra at gmail.com
Sat Dec 13 07:35:50 CST 2014


El 13/12/2014 01:48, "Eric Sumner" <ericsumner at fb.com> escribió:
>
> At Facebook, most of our repositories are maintained with a strictly
linear history.  One usability issue we have is the race to fetch newer
changes from the server, rebase your commits, and then push them to the
server before somebody else submits their changes.
>
> To address this, I’ve been developing an extension that will allow the
server to accept changes that aren’t based on the branch tip as long as
there’s no possibility of a merge conflict.  The basic approach is to
inspect the incoming changegroup with a bundlerepo, and build new
changesets based on that information.
>
> I’ve pushed the current version to
https://bitbucket.org/facebook/hg-experimental/src/44ae2bf66b601568f37f90aa91c1650c9743aecc/pushrebase.py?at=default
and
would appreciate any feedback about the concept or implementation.
>
>   — Eric

Does this require using the evolve extension on the client? What happens to
the revisions on the client's, source repository when a push succeeds but
required an automatic rebase? Are the new rebased revisions automatically
pulled back to the source repo, and the original revisions made obsolete?

Angel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20141213/7e03a7ef/attachment.html>


More information about the Mercurial-devel mailing list