~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transform.py

  • Committer: Jelmer Vernooij
  • Date: 2011-06-28 11:58:01 UTC
  • mto: This revision was merged to the branch mainline in revision 5997.
  • Revision ID: jelmer@samba.org-20110628115801-116yzxghzlgtzs83
Fix fixing up root ids.

Show diffs side-by-side

added added

removed removed

Lines of Context:
215
215
        self.version_file(old_root_file_id, old_root)
216
216
        self.unversion_file(self._new_root)
217
217
 
218
 
    def fixup_new_roots(self):
 
218
    def fixup_new_roots(self, require_tree_root=False):
219
219
        """Reinterpret requests to change the root directory
220
220
 
221
221
        Instead of creating a root directory, or moving an existing directory,
229
229
        new_roots = [k for k, v in self._new_parent.iteritems() if v is
230
230
                     ROOT_PARENT]
231
231
        if len(new_roots) < 1:
 
232
            if require_tree_root:
 
233
                if self.final_kind(self.root) is None:
 
234
                    self.cancel_deletion(self.root)
 
235
                if self.final_file_id(self.root) is None:
 
236
                    self.version_file(self.tree_file_id(self.root),
 
237
                                         self.root)
232
238
            return
233
239
        if len(new_roots) != 1:
234
240
            raise ValueError('A tree cannot have two roots!')