Thu, 30 Jan 2014 23:12:03 -0800 push: extract new common set computation from phase synchronisation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 23:12:03 -0800] rev 20468
push: extract new common set computation from phase synchronisation Now that every necessary information is held in the `pushoperation` object, we can extract the new common set computation to it's own function. This changeset is pure code movement only.
Thu, 30 Jan 2014 23:16:43 -0800 push: move `commonheads` into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 23:16:43 -0800] rev 20467
push: move `commonheads` into the push object The phase synchronisation start by computing the new set of common head between local and remote and then do the phase synchronisation on this set. This new common set logic will eventually be used by the obsolescence markers exchange. So we are going to split the long phase synchronisation in two.
Thu, 30 Jan 2014 21:05:29 -0800 push: move discovery in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 21:05:29 -0800] rev 20466
push: move discovery in its own function Now that every necessary information is held in the `pushoperation` object, we can extract the discovery logic to it's own function. This changeset is pure code movement only.
Thu, 30 Jan 2014 21:01:21 -0800 push: move outgoing check logic in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 21:01:21 -0800] rev 20465
push: move outgoing check logic in its own function Now that every necessary information is held in the `pushoperation` object, we can extract the part responsible of aborting the push to it's own function. This changeset is mostly pure code movement. the exception is the fact this function returns a value to decide if changeset bundle should be pushed.
Thu, 30 Jan 2014 21:01:13 -0800 push: move `incoming` into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 21:01:13 -0800] rev 20464
push: move `incoming` into the push object The fact that there is some unknown changes on remote one of the result of discovery. It is then used by some push validation logic. We move it in the object to be able to extract the said logic.
Thu, 30 Jan 2014 20:44:55 -0800 push: move changeset push logic in its own function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:44:55 -0800] rev 20463
push: move changeset push logic in its own function Now that every necessary information is held in the `pushoperation` object, we can extract the logic pushing changeset to it's own function. This changeset is pure code movement only.
Thu, 30 Jan 2014 20:34:35 -0800 push: move `remoteheads` into the push object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 Jan 2014 20:34:35 -0800] rev 20462
push: move `remoteheads` into the push object The heads of the remote repository are used to detect race when pushing changeset. We now store this information in `pushoperation` object to allow extraction of the changeset pushing part.
Tue, 04 Feb 2014 15:07:03 -0800 revset: added lazyset implementation to contains revset
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 04 Feb 2014 15:07:03 -0800] rev 20461
revset: added lazyset implementation to contains revset
Tue, 04 Feb 2014 09:29:19 -0800 revset: added lazyset implementation to secret revset
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 04 Feb 2014 09:29:19 -0800] rev 20460
revset: added lazyset implementation to secret revset
Tue, 04 Feb 2014 09:14:45 -0800 revset: added lazyset implementation to matching revset
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 04 Feb 2014 09:14:45 -0800] rev 20459
revset: added lazyset implementation to matching revset Performance Benchmarking: $ time hg log -qr "first(matching(0))" 0:9117c6561b0b real 0m2.213s user 0m2.149s sys 0m0.055s $ time ./hg log -qr "first(matching(0))" 0:9117c6561b0b real 0m0.177s user 0m0.137s sys 0m0.038s
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip