Nested tree commit fails in shared repositories

Bug #369923 reported by Johan Dahlberg on 2009-04-30
This bug affects 4 people
Affects Status Importance Assigned to Milestone

Bug Description


I'm really happy that the nested trees are about to get ready for use!
Maybe I'm complaining about something which is in the pipeline of development...

The following series of commands always ends up with the last commit failing:

mkdir repo
cd repo
bzr init-repo . --development-subtree
mkdir proj
cd proj
bzr init --development-subtree
mkdir dir
echo 123 > dir/file
bzr add
bzr commit -m initial
bzr split dir
bzr join --reference dir
bzr commit -m "tree split"

Committing to: /home/johan/repo/proj/
aborting commit write group: BzrError(already in a write group)
bzr: ERROR: already in a write group

Not using a shared repository somewhat takes out the fun of splitting a tree with 2GB repository data.
Each time you split off a subtree, you end up with another 2GB... ;-)
And what would happen if you branch that composite tree a couple of times. :-P

Anyway, it is a great piece of work!
Looks like it is as simple to use as a single tree.

Version information...

 bzr --version
Bazaar (bzr) 1.15dev
  from bzr checkout /usr/local/src/bzr/
    revision: 4316
    revid: <email address hidden>
    branch nick:
  Python interpreter: /usr/bin/python 2.5.2
  Python standard library: /usr/lib/python2.5
  bzrlib: /usr/local/src/bzr/
  Bazaar configuration: /home/johan/.bazaar
  Bazaar log file: /home/johan/.bzr.log

Copyright 2005, 2006, 2007, 2008, 2009 Canonical Ltd.

bzr comes with ABSOLUTELY NO WARRANTY. bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

Changed in bzr:
importance: Undecided → Medium
status: New → Triaged
druido (nvitacolonna) wrote :

Similar steps lead to the following error when using repository format 2a (bzr 2.0.1):

bzr: ERROR: The method _generate_inventory is not supported on objects of type CHKInventoryRepository.

To reproduce:

bzr init-repo repo
cd repo
bzr init trunk
cd trunk
mkdir dir
echo 123 > dir/file
bzr add
bzr commit -m initial
bzr split dir
bzr join --reference dir
bzr commit -m "tree split"
mkdir bar
bzr add
bzr revert

In this case the commit works, but 'bzr add' and 'bzr revert' give the error above. The problem is due to 'bzr join --reference': without that command, everything works fine. As a work-around, create a new branch, or type (at your own risk)

rm -fr .bzr/checkout
bzr co .

bzr --version
Bazaar (bzr) 2.0.1
  Python interpreter: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/ 2.6.4
  Python standard library: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6
  Platform: Darwin-10.2.0-i386-64bit
  bzrlib: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/bzrlib
  Bazaar configuration: /Users/druido/.bazaar
  Bazaar log file: /Users/druido/.bzr.log

Raised druido's comment as a separate bug here: #515947

Martin Pool (mbp) on 2010-03-18
Changed in bzr:
status: Triaged → Confirmed
Jelmer Vernooij (jelmer) on 2011-02-01
tags: added: commit nested-trees
Jelmer Vernooij (jelmer) on 2017-11-08
tags: added: check-for-breezy
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers