Patchwork [Bug,4904] New: test bundle crash with general delta on by default

login
register
mail settings
Submitter mercurial-bugs@selenic.com
Date Oct. 16, 2015, 2:02 a.m.
Message ID <bug-4904-285@https.bz.mercurial-scm.org/>
Download mbox | patch
Permalink /patch/11132/
State Not Applicable
Headers show

Comments

mercurial-bugs@selenic.com - Oct. 16, 2015, 2:02 a.m.
https://bz.mercurial-scm.org/show_bug.cgi?id=4904

            Bug ID: 4904
           Summary: test bundle crash with general delta on by default
           Product: Mercurial
           Version: default branch
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: bundle2
          Assignee: bugzilla@selenic.com
          Reporter: pierre-yves.david@ens-lyon.org
                CC: mercurial-devel@selenic.com,
                    pierre-yves.david@ens-lyon.org

+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Rollback empty

   $ hg -R empty rollback
-  repository tip rolled back to revision -1 (undo pull)
+  no rollback information available
+  [1]

 Pull full.hg into empty again (using -R)

   $ hg -R empty pull full.hg
   pulling from full.hg
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 9 changesets with 7 changes to 4 files (+1 heads)
-  (run 'hg heads' to see heads, 'hg merge' to merge)
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Log -R full.hg in fresh empty

@@ -152,59 +358,37 @@
   $ hg init empty
   $ cd empty
   $ hg -R bundle://../full.hg log
-  changeset:   8:aa35859c02ea
-  tag:         tip
-  parent:      3:eebf5a27f8ca
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.3m
-  
-  changeset:   7:a6a34bfa0076
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3m
-  
-  changeset:   6:7373c1169842
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3
-  
-  changeset:   5:1bb50a9436a7
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.2
-  
-  changeset:   4:095197eb4973
-  parent:      0:f9ee2f85a263
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.1
-  
-  changeset:   3:eebf5a27f8ca
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.3
-  
-  changeset:   2:e38ba6f5b7e0
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.2
-  
-  changeset:   1:34c2bf6b0626
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.1
-  
-  changeset:   0:f9ee2f85a263
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.0
-  
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]
 Make sure bundlerepo doesn't leak tempfiles (issue2491)

   $ ls .hg
   00changelog.i
-  cache
+  hg-bundle-_SlQ1_.hg10un
   requires
   store

@@ -219,36 +403,124 @@

   $ hg pull bundle://../full.hg
   pulling from bundle:../full.hg
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 9 changesets with 7 changes to 4 files (+1 heads)
-  changegroup hook: HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735
HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=bundle:../full.hg (glob)
-  (run 'hg heads' to see heads, 'hg merge' to merge)
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Rollback empty

   $ hg rollback
-  repository tip rolled back to revision -1 (undo pull)
+  no rollback information available
+  [1]
   $ cd ..

 Log -R bundle:empty+full.hg

   $ hg -R bundle:empty+full.hg log --template="{rev} "; echo ""
-  8 7 6 5 4 3 2 1 0 
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  

 Pull full.hg into empty again (using -R; with hook)

   $ hg -R empty pull full.hg
   pulling from full.hg
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 9 changesets with 7 changes to 4 files (+1 heads)
-  changegroup hook: HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735
HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=bundle:empty+full.hg (glob)
-  (run 'hg heads' to see heads, 'hg merge' to merge)
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Create partial clones

@@ -269,131 +541,108 @@
 Log -R full.hg in partial

   $ hg -R bundle://../full.hg log -T phases
-  changeset:   8:aa35859c02ea
-  tag:         tip
-  phase:       draft
-  parent:      3:eebf5a27f8ca
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.3m
-  
-  changeset:   7:a6a34bfa0076
-  phase:       draft
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3m
-  
-  changeset:   6:7373c1169842
-  phase:       draft
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3
-  
-  changeset:   5:1bb50a9436a7
-  phase:       draft
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.2
-  
-  changeset:   4:095197eb4973
-  phase:       draft
-  parent:      0:f9ee2f85a263
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.1
-  
-  changeset:   3:eebf5a27f8ca
-  phase:       public
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.3
-  
-  changeset:   2:e38ba6f5b7e0
-  phase:       public
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.2
-  
-  changeset:   1:34c2bf6b0626
-  phase:       public
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.1
-  
-  changeset:   0:f9ee2f85a263
-  phase:       public
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.0
-  
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Incoming full.hg in partial

   $ hg incoming bundle://../full.hg
-  comparing with bundle:../full.hg
-  searching for changes
-  changeset:   4:095197eb4973
-  parent:      0:f9ee2f85a263
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.1
-  
-  changeset:   5:1bb50a9436a7
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.2
-  
-  changeset:   6:7373c1169842
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3
-  
-  changeset:   7:a6a34bfa0076
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3m
-  
-  changeset:   8:aa35859c02ea
-  tag:         tip
-  parent:      3:eebf5a27f8ca
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.3m
-  
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 4568, in
incoming
+      return hg.incoming(ui, repo, source, opts)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 718, in incoming
+      return _incoming(display, subreporecurse, ui, repo, source, opts)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 674, in _incoming
+      other = peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Outgoing -R full.hg vs partial2 in partial

   $ hg -R bundle://../full.hg outgoing ../partial2
-  comparing with ../partial2
-  searching for changes
-  changeset:   4:095197eb4973
-  parent:      0:f9ee2f85a263
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.1
-  
-  changeset:   5:1bb50a9436a7
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.2
-  
-  changeset:   6:7373c1169842
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3
-  
-  changeset:   7:a6a34bfa0076
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3m
-  
-  changeset:   8:aa35859c02ea
-  tag:         tip
-  parent:      3:eebf5a27f8ca
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.3m
-  
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Outgoing -R does-not-exist.hg vs partial2 in partial

@@ -408,34 +657,97 @@
 Direct clone from bundle (all-history)

   $ hg clone full.hg full-clone
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 9 changesets with 7 changes to 4 files (+1 heads)
-  updating to branch default
-  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 1447, in
clone
+      shareopts=opts.get('shareopts'))
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 401, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]
   $ hg -R full-clone heads
-  changeset:   8:aa35859c02ea
-  tag:         tip
-  parent:      3:eebf5a27f8ca
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.3m
-  
-  changeset:   7:a6a34bfa0076
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     1.3m
-  
+  abort: repository full-clone not found!
+  [255]
   $ rm -r full-clone
+  rm: cannot remove 'full-clone': No such file or directory
+  [1]

 When cloning from a non-copiable repository into '', do not
 recurse infinitely (issue2528)

   $ hg clone full.hg ''
-  abort: empty destination path is not valid
-  [255]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 1447, in
clone
+      shareopts=opts.get('shareopts'))
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 401, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 test for https://bz.mercurial-scm.org/216

@@ -463,26 +775,32 @@
   4 changesets found
   $ cd test
   $ hg -R ../../partial.hg log -r "bundle()"
-  changeset:   0:f9ee2f85a263
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.0
-  
-  changeset:   1:34c2bf6b0626
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.1
-  
-  changeset:   2:e38ba6f5b7e0
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.2
-  
-  changeset:   3:eebf5a27f8ca
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     0.3
-  
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]
   $ cd ..

 test for 540d1059c802
@@ -509,15 +827,48 @@

   $ cd ../orig
   $ hg incoming ../bundle.hg
-  comparing with ../bundle.hg
-  searching for changes
-  changeset:   2:ed1b79f46b9a
-  tag:         tip
-  parent:      0:bbd179dfa0a7
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     change foo
-  
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 4568, in
incoming
+      return hg.incoming(ui, repo, source, opts)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 718, in incoming
+      return _incoming(display, subreporecurse, ui, repo, source, opts)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 674, in _incoming
+      other = peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]
   $ cd ..

 test bundle with # in the filename (issue2154):
@@ -547,7 +898,32 @@
   9:b4f5acb1ee27
   $ hg -q bundle --branch foo foo.hg ../test-clone
   $ hg -R foo.hg -q log -r "bundle()"
-  9:b4f5acb1ee27
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

   $ cd ..

@@ -558,14 +934,62 @@
 partial history bundle, fails w/ unknown parent

   $ hg -R bundle.hg verify
-  abort: 00changelog.i@bbd179dfa0a7: unknown parent!
-  [255]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 full history bundle, refuses to verify non-local repo

   $ hg -R all.hg verify
-  abort: cannot verify bundle or remote repos
-  [255]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 but, regular verify must continue to work

@@ -581,14 +1005,32 @@
   $ hg init b
   $ cd b
   $ hg -R ../all.hg diff -r tip
-  diff -r aa35859c02ea anotherfile
-  --- a/anotherfile    Thu Jan 01 00:00:00 1970 +0000
-  +++ /dev/null        Thu Jan 01 00:00:00 1970 +0000
-  @@ -1,4 +0,0 @@
-  -0
-  -1
-  -2
-  -3
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 885, in
_dispatch
+      repo = hg.repository(ui, path=path)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 160, in
repository
+      peer = _peerorrepo(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]
   $ cd ..

 bundle single branch
@@ -637,6 +1079,8 @@
   list of changesets:
   1a38c1b849e8b70c756d2d80b0b9a3ac0b7ea11a
   057f4db07f61970e1c11e83be79e9d08adc4dc31
+  bundle2-output-bundle: "HG20", (1 params) 1 parts total
+  bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
   bundling: 1/2 changesets (50.00%)
   bundling: 2/2 changesets (100.00%)
   bundling: 1/2 manifests (50.00%)
@@ -649,11 +1093,49 @@

   $ hg clone -q -r0 . part2
   $ hg -q -R part2 pull bundle.hg
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]
   $ hg -R part2 verify
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  4 files, 3 changesets, 5 total revisions
+  2 files, 1 changesets, 2 total revisions

   $ cd ..

ERROR: test-bundle.t output changed

Patch

--- /home/pyd/src/mercurial-dev/tests/test-bundle.t
+++ /home/pyd/src/mercurial-dev/tests/test-bundle.t.err
@@ -81,70 +81,276 @@ 

   $ hg --cwd test pull ../full.hg
   pulling from ../full.hg
-  searching for changes
-  no changes found
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Verify that there are no leaked temporary files after pull (issue2797)

   $ ls test/.hg | grep .hg10un
-  [1]
+  hg-bundle-GuNLrN.hg10un

 Pull full.hg into empty (using --cwd)

   $ hg --cwd empty pull ../full.hg
   pulling from ../full.hg
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 9 changesets with 7 changes to 4 files (+1 heads)
-  (run 'hg heads' to see heads, 'hg merge' to merge)
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Rollback empty

   $ hg -R empty rollback
-  repository tip rolled back to revision -1 (undo pull)
+  no rollback information available
+  [1]

 Pull full.hg into empty again (using --cwd)

   $ hg --cwd empty pull ../full.hg
   pulling from ../full.hg
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 9 changesets with 7 changes to 4 files (+1 heads)
-  (run 'hg heads' to see heads, 'hg merge' to merge)
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Pull full.hg into test (using -R)

   $ hg -R test pull full.hg
   pulling from full.hg
-  searching for changes
-  no changes found
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__
+      chunk = self.bundle.read(2**18)
+  AttributeError: 'unbundle20' object has no attribute 'read'
+  [1]

 Pull full.hg into empty (using -R)

   $ hg -R empty pull full.hg
   pulling from full.hg
-  searching for changes
-  no changes found
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 2.7.9 (default, Mar  1 2015, 12:57:24) [GCC 4.9.2]
+  ** Mercurial Distributed SCM (version 3.5.2+756-e8ff886ba364+20151015)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/home/pyd/src/mercurial-dev/hg", line 43, in <module>
+      mercurial.dispatch.run()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 54, in run
+      sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 116, in
dispatch
+      ret = _runcatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 187, in
_runcatch
+      return _dispatch(req)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 920, in
_dispatch
+      cmdpats, cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 679, in
runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1051, in
_runcommand
+      return checkargs()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 1011, in
checkargs
+      return cmdfunc()
+    File "/home/pyd/src/mercurial-dev/mercurial/dispatch.py", line 917, in
<lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
+    File "/home/pyd/src/mercurial-dev/mercurial/util.py", line 801, in check
+      return func(*args, **kwargs)
+    File "/home/pyd/src/mercurial-dev/mercurial/commands.py", line 5252, in
pull
+      other = hg.peer(repo, opts, source)
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 170, in peer
+      return _peerorrepo(rui, path, create).peer()
+    File "/home/pyd/src/mercurial-dev/mercurial/hg.py", line 147, in
_peerorrepo
+      obj = _peerlookup(path).instance(ui, path, create)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 405, in
instance
+      return bundlerepository(ui, repopath, bundlename)
+    File "/home/pyd/src/mercurial-dev/mercurial/bundlerepo.py", line 266, in
__init__