Mon, 29 May 2017 05:53:58 +0200 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 05:53:58 +0200] rev 32709
push: add a way to allow concurrent pushes on unrelated heads Client has a mechanism for the server to check that nothing changed server side since the client prepared a push. That check is wide and any head changed on the server will lead to an aborted push. We introduce a way for the client to send a less strict checking. That logic will check that no heads impacted by the push have been affected. If other unrelated heads (including named branches heads) have been affected, the push will proceed. This is very helpful for repositories with high developers traffic on different heads, a common setup. That behavior is currently controlled by an experimental option. The config should live in the "server" section but bike-shedding of the name will happen in the next changesets. Servers advertise this capability through a new bundle2 capability 'checkeads', using the value 'related'. The 'test-push-race.t' is updated to check that new capabilities on the documented cases.
Mon, 29 May 2017 05:52:13 +0200 headsummary: expose the 'discardedheads' set in the headssummary
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 05:52:13 +0200] rev 32708
headsummary: expose the 'discardedheads' set in the headssummary That information will be useful to detect push race on related part of the history. See next changeset for details.
Mon, 29 May 2017 05:47:27 +0200 checkheads: perform obsolescence post processing directly in _headssummary
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 05:47:27 +0200] rev 32707
checkheads: perform obsolescence post processing directly in _headssummary The goal is to have the function directly return something meaningful and useful for the whole pull. Note: we skip adding post-processing in '_oldheadssummary' because if a client is too old for branchmap it will be too old for obsolescence too.
Mon, 29 May 2017 10:56:00 +0200 headssummary: directly feed the function with the 'pushop' object
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 10:56:00 +0200] rev 32706
headssummary: directly feed the function with the 'pushop' object Our goal is to be able to perform the post processing directly into the '_headssummary' function. However before this patch the '_headsummary' function only had access to repo, remote, outgoing while the '_postprocessobsolete' function takes a 'pushop' object. Experience shows that having the 'pushop' object helps extensions so we update '_headssummary' to take a pushop object as argument.
Mon, 29 May 2017 05:45:59 +0200 checkheads: gather the postprocessing with other obsolescence specific code
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 May 2017 05:45:59 +0200] rev 32705
checkheads: gather the postprocessing with other obsolescence specific code We extract this function from the loop and gather it with the rest of the obsolescence specific code. That will help to clarify the move of the whole logic inside the "heads summary" computation.
Tue, 06 Jun 2017 14:38:59 -0700 run-tests: add a way to list tests, with JSON and XUnit support
Siddharth Agarwal <sid0@fb.com> [Tue, 06 Jun 2017 14:38:59 -0700] rev 32704
run-tests: add a way to list tests, with JSON and XUnit support Some test runners are interested in listing tests, so they can do their own filtering on top (usually based on attributes like historically observed runtime). Add support for that.
Tue, 06 Jun 2017 13:56:53 -0700 run-tests: install hg after computing tests to run
Siddharth Agarwal <sid0@fb.com> [Tue, 06 Jun 2017 13:56:53 -0700] rev 32703
run-tests: install hg after computing tests to run We're going to add a way to list tests, and we don't need to install hg for that.
Tue, 06 Jun 2017 13:52:25 -0700 run-tests: make time field optional for xunit report
Siddharth Agarwal <sid0@fb.com> [Tue, 06 Jun 2017 13:52:25 -0700] rev 32702
run-tests: make time field optional for xunit report We're going to use XUnit to list tests, and we don't have a time field in that case.
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -8 +8 +10 +30 +100 +300 +1000 +3000 +10000 tip