diff --git a/infinitepush/__init__.py b/infinitepush/__init__.py --- a/infinitepush/__init__.py +++ b/infinitepush/__init__.py @@ -100,7 +100,7 @@ import time from .bundleparts import ( - getscratchbranchparts, + getscratchbranchpart, scratchbookmarksparttype, scratchbranchparttype, ) @@ -897,16 +897,15 @@ nonforwardmove = pushop.force or pushop.ui.configbool(experimental, confignonforwardmove) - scratchparts = getscratchbranchparts(pushop.repo, - pushop.remote, - pushop.outgoing, - nonforwardmove, - pushop.ui, - bookmark, - create) + scratchpart = getscratchbranchpart(pushop.repo, + pushop.remote, + pushop.outgoing, + nonforwardmove, + pushop.ui, + bookmark, + create) - for scratchpart in scratchparts: - bundler.addpart(scratchpart) + bundler.addpart(scratchpart) def handlereply(op): # server either succeeds or aborts; no code to read diff --git a/infinitepush/backupcommands.py b/infinitepush/backupcommands.py --- a/infinitepush/backupcommands.py +++ b/infinitepush/backupcommands.py @@ -51,7 +51,7 @@ from .bundleparts import ( getscratchbookmarkspart, - getscratchbranchparts, + getscratchbranchpart, ) from mercurial import ( bundle2, @@ -450,12 +450,10 @@ backup = False if outgoing and outgoing.missing: backup = True - parts = getscratchbranchparts(repo, other, outgoing, - confignonforwardmove=False, - ui=ui, bookmark=None, - create=False) - for part in parts: - bundler.addpart(part) + bundler.addpart(getscratchbranchpart(repo, other, outgoing, + confignonforwardmove=False, + ui=ui, bookmark=None, + create=False)) if bookmarkstobackup: backup = True diff --git a/infinitepush/bundleparts.py b/infinitepush/bundleparts.py --- a/infinitepush/bundleparts.py +++ b/infinitepush/bundleparts.py @@ -19,7 +19,7 @@ scratchbranchparttype = 'b2x:infinitepush' scratchbookmarksparttype = 'b2x:infinitepushscratchbookmarks' -def getscratchbranchparts(repo, peer, outgoing, confignonforwardmove, +def getscratchbranchpart(repo, peer, outgoing, confignonforwardmove, ui, bookmark, create): if not outgoing.missing: raise error.Abort(_('no commits to push')) @@ -56,23 +56,12 @@ if not isremotebooksenabled(ui): params['pushbackbookmarks'] = '1' - parts = [] - # .upper() marks this as a mandatory part: server will abort if there's no # handler - parts.append(bundle2.bundlepart( + return bundle2.bundlepart( scratchbranchparttype.upper(), advisoryparams=params.iteritems(), - data=cg)) - - try: - treemod = extensions.find('treemanifest') - parts.append(treemod.createtreepackpart(repo, outgoing, - treemod.TREEGROUP_PARTTYPE2)) - except KeyError: - pass - - return parts + data=cg) def getscratchbookmarkspart(peer, bookmarks): if scratchbookmarksparttype not in bundle2.bundle2caps(peer): diff --git a/remotefilelog/shallowbundle.py b/remotefilelog/shallowbundle.py --- a/remotefilelog/shallowbundle.py +++ b/remotefilelog/shallowbundle.py @@ -75,8 +75,6 @@ """ sendflat = self._repo.ui.configbool('treemanifest', 'sendflat', True) - sendflat &= not self._repo.ui.configbool('treemanifest', 'treeonly') - if sendflat: # In this code path, generating the manifests populates fnodes for # us. diff --git a/tests/test-treemanifest-infinitepush.t b/tests/test-treemanifest-infinitepush.t deleted file mode 100644 --- a/tests/test-treemanifest-infinitepush.t +++ /dev/null @@ -1,107 +0,0 @@ - $ . "$TESTDIR/library.sh" - $ . "$TESTDIR/library-infinitepush.sh" - - $ PYTHONPATH=$TESTDIR/..:$PYTHONPATH - $ export PYTHONPATH - $ setupcommon - - $ hginit master - $ cd master - $ setupserver - $ cat >> .hg/hgrc < [extensions] - > pushrebase=$TESTDIR/../hgext3rd/pushrebase.py - > treemanifest=$TESTDIR/../treemanifest - > [remotefilelog] - > server=True - > [treemanifest] - > server=True - > EOF - $ echo x > x - $ hg commit -qAm 'add x' - $ cd .. - -Push a scratch branch from one client - - $ hgcloneshallow ssh://user@dummy/master client1 -q --config extensions.treemanifest=$TESTDIR/../treemanifest --config treemanifest.treeonly=True - 1 trees fetched over * (glob) - 1 trees fetched over * (glob) - 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) - $ cd client1 - $ cat >> .hg/hgrc < [extensions] - > treemanifest=$TESTDIR/../treemanifest - > - > [remotefilelog] - > usefastdatapack=True - > - > [treemanifest] - > treeonly=True - > EOF - - $ mkdir subdir - $ echo "my change" >> subdir/a - $ hg commit -qAm 'add subdir/a' - $ hg push --to scratch/foo --create - pushing to ssh://user@dummy/master - searching for changes - remote: pushing 1 commit: - remote: 02c12aef64ff add subdir/a - $ cd .. - -Pull a scratch branch from another client - - $ hgcloneshallow ssh://user@dummy/master client2 -q --config extensions.treemanifest=$TESTDIR/../treemanifest --config treemanifest.treeonly=True - $ cd client2 - $ cat >> .hg/hgrc < [extensions] - > treemanifest=$TESTDIR/../treemanifest - > - > [remotefilelog] - > usefastdatapack=True - > - > [treemanifest] - > treeonly=True - > EOF - $ hg pull -r scratch/foo - pulling from ssh://user@dummy/master - searching for changes - adding changesets - adding manifests - adding file changes - added 1 changesets with 1 changes to 1 files - (run 'hg update' to get a working copy) - $ hg log -G - o changeset: 1:02c12aef64ff - | tag: tip - | user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | summary: add subdir/a - | - @ changeset: 0:085784c01c08 - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: add x - - $ hg cat -r tip subdir/a - my change - $ ls_l .hg/store - -rw-r--r-- 257 00changelog.i - -rw-r--r-- 108 00manifesttree.i - drwxr-xr-x data - drwxrwxr-x packs - -rw-r--r-- 43 phaseroots - -rw-r--r-- 18 undo - -rw-r--r-- 17 undo.backupfiles - -rw-r--r-- 0 undo.phaseroots - $ cd .. - -Verify its not on the server - $ cd master - $ hg log -G - @ changeset: 0:085784c01c08 - tag: tip - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: add x -