[MERGE] knits use revision-store-graph

Martin Pool mbp at sourcefrog.net
Fri Mar 10 00:30:57 GMT 2006


 > === modified file 'a/bzrlib/repository.py'
 > --- a/bzrlib/repository.py	
 > +++ b/bzrlib/repository.py	
 >      @needs_write_lock
 >      def reconcile(self):
 > @@ -564,27 +563,11 @@
 >          :param new_value: True to restore the default, False to  
disable making
 >                            working trees.
 >          """
 > -        # FIXME: split out into a new class/strategy ?
 > -        if isinstance(self._format, (RepositoryFormat4,
 > -                                     RepositoryFormat5,
 > -                                     RepositoryFormat6)):
 > -            raise NotImplementedError(self.set_make_working_trees)
 > -        if new_value:
 > -            try:
 > -                self.control_files._transport.delete('no-working- 
trees')
 > -            except errors.NoSuchFile:
 > -                pass
 > -        else:
 > -            self.control_files.put_utf8('no-working-trees', '')
 > +        raise NotImplementedError(self.set_make_working_trees)
 >
 >      def make_working_trees(self):
 >          """Returns the policy for making working trees on new  
branches."""
 > -        # FIXME: split out into a new class/strategy ?
 > -        if isinstance(self._format, (RepositoryFormat4,
 > -                                     RepositoryFormat5,
 > -                                     RepositoryFormat6)):
 > -            return True
 > -        return not self.control_files._transport.has('no-working- 
trees')
 > +        raise NotImplementedError(self.make_working_trees)

Perhaps things like make_working_trees should be properties instead?

The name 'make_working_trees' strongly implies to me that it actually
makes the working tree.  It might be better to call it
set/get_working_tree_policy or even working_tree_creation_policy.
This should be fixed before merge.  (If you think the change is OK  
but need to
leave then I can do it.)

The changes for fileid_involved_between_revs and get_revision_graph look
reasonable, assuming they're already sufficiently tested.

 > +    def _get_revision_vf(self):
 > +        """helper to get the revision store versioned file."""
 > +        vf = self._revision_store.get_revision_file 
(self.get_transaction())
 > +        return vf
 > +

Maybe change the docs to something like "Return the VersionedFile  
holding all
revision headers."

OK to merge with those changes.

-- 
Martin Pool







More information about the bazaar mailing list