Commit fails when checkout uses the same repo as its branch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Aaron Bentley |
Bug Description
This is for bzr.dev, revision 3132
Steps to reproduce:
tschaboo@
total 4
drwxr-xr-x 10 tschaboo tschaboo 4096 2007-12-20 03:08 somerepo
tschaboo@
tschaboo@
tschaboo@
Branched 801 revision(s).
tschaboo@
tschaboo@
tschaboo@
tschaboo@
deleted README
tschaboo@
Committing to: /home/tschaboo/
deleted README
bzr: ERROR: bzrlib.
Traceback (most recent call last):
File "/home/
return run_bzr(argv)
File "/home/
ret = run(*run_argv)
File "/home/
return self.run(
File "/home/
author=author)
File "/home/
return unbound(self, *args, **kwargs)
File "/home/
result = WorkingTree3.
File "/home/
return unbound(self, *args, **kwargs)
File "/home/
revprops=
File "/home/
revision_
File "/home/
self.
File "/home/
return unbound(self, *args, **kwargs)
File "/home/
return self.get_
File "/home/
return unbound(self, *args, **kwargs)
File "/home/
return self._get_
File "/home/
return unbound(self, *args, **kwargs)
File "/home/
self.
File "/home/
texts = self._get_
File "/home/
raise errors.
NoSuchRevision: KnitPackRevisio
bzr 1.1.0.dev.0 on python 2.5.1.final.0 (linux2)
arguments: ['/home/
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
gtk /home/tschaboo/
launchpad /home/tschaboo/
multiparent /home/tschaboo/
*** Bazaar has encountered an internal error.
Please report a bug at https:/
including this traceback, and a description of what you
were doing when the error occurred.
Changed in bzr: | |
assignee: | nobody → aaron-bentley |
Changed in bzr: | |
milestone: | none → 1.1 |
status: | Confirmed → Fix Committed |
Changed in bzr: | |
status: | Fix Committed → Fix Released |
This doesn't seem related to the reconfiguration. Here's a test script that reproduces the issue without reconfiguring.
It's probably just related to having the checkout in the same repo as the branch.
For knit repos, this causes lock errors. For packs, it causes this.
Here's a test case.
def test_commit_ in_new_ checkout( self): repository( 'repo', shared=True) and_tree ignores shared repos BzrDir. create_ branch_ convenience( 'repo/branch' ) create_ checkout( 'repo/tree2' )
tree2. commit( 'message' , rev_id='rev1')
repo = self.make_
# make_branch_
branch = bzrdir.
tree2 = branch.