[PATCH 3 of 4] bundle2.processbundle: let callers request default behavior
Eric Sumner
ericsumner at fb.com
Tue Nov 25 18:26:28 UTC 2014
# 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):
"""This function process a bundle, apply effect to/from a repo
It iterates over each part then searches for and uses the proper handling
@@ -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.
More information about the Mercurial-devel
mailing list