[PATCH 3 of 4] bundle2.processbundle: let callers request default behavior

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Dec 2 14:30:43 CST 2014



On 12/02/2014 07:38 AM, Augie Fackler wrote:
> On Tue, Nov 25, 2014 at 10:26:28AM -0800, Eric Sumner wrote:
>> # HG changeset patch
>> # User Eric Sumner <ericsumner at fb.com>
>> # Date 1416873884 28800
>> #      Mon Nov 24 16:04:44 2014 -0800
>> # Node ID 46994128747aa4bc3057c7fbdbe19f4734cd48ab
>> # Parent  ed01cf6d09c8682dfd8292f1333bce11be02bc1f
>> bundle2.processbundle: let callers request default behavior
>>
>> This patch series is intended to allow bundle2 push reply part handlers to
>> make changes to the local repository; it has been developed in parallel with
>> an extension that allows the server to rebase incoming changesets while applying
>> them.
>>
>> The default transaction getter for processbundle is a private function that
>> raises an exception; this diff lets calling code pass None as the transaction
>> getter to explicitly request this default behavior.
>>
>> The next diff will check a config option to determine whether to provide a
>> transaction to the reply bundle processor.  If one shouldn't be provided, the
>> code needs a way to specify that the default behavior should be used.
>>
>> diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py
>> --- a/mercurial/bundle2.py
>> +++ b/mercurial/bundle2.py
>> @@ -277,7 +277,7 @@
>>       to be created"""
>>       raise TransactionUnavailable()
>>
>> -def processbundle(repo, unbundler, transactiongetter=_notransaction):
>> +def processbundle(repo, unbundler, transactiongetter=None):
>
> I think (but am not sure) that after this patch _notransaction is
> unused and could be deleted in a followup.

It is used in the next chunk…

>> @@ -288,6 +288,8 @@
>>
>>       Unknown Mandatory part will abort the process.
>>       """
>> +    if transactiongetter is None:
>> +        transactiongetter = _notransaction
>>       op = bundleoperation(repo, transactiongetter)
>>       # todo:
>>       # - replace this is a init function soon.

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list