Mercurial > hg
changeset 23438:6e0ecb9a2e19
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.
author | Eric Sumner <ericsumner@fb.com> |
---|---|
date | Mon, 24 Nov 2014 16:04:44 -0800 |
parents | 94e2862dbcfb |
children | 743736fc7c41 |
files | mercurial/bundle2.py |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/bundle2.py Fri Nov 21 15:06:38 2014 -0800 +++ b/mercurial/bundle2.py Mon Nov 24 16:04:44 2014 -0800 @@ -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.