~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/repofmt/pack_repo.py

  • Committer: Robert Collins
  • Date: 2008-09-02 05:28:37 UTC
  • mfrom: (3675 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3677.
  • Revision ID: robertc@robertcollins.net-20080902052837-ec3qlv41q5e7f6fl
Resolve conflicts with NEWS.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1719
1719
        self._reconcile_does_inventory_gc = True
1720
1720
        self._reconcile_fixes_text_parents = True
1721
1721
        self._reconcile_backsup_inventory = False
1722
 
        self._fetch_order = 'unsorted'
 
1722
        self._fetch_order = 'unordered'
1723
1723
 
1724
1724
    def _warn_if_deprecated(self):
1725
 
        # This class isn't deprecated
1726
 
        pass
 
1725
        # This class isn't deprecated, but one sub-format is
 
1726
        if isinstance(self._format, RepositoryFormatKnitPack5RichRootBroken):
 
1727
            from bzrlib import repository
 
1728
            if repository._deprecation_warning_done:
 
1729
                return
 
1730
            repository._deprecation_warning_done = True
 
1731
            warning("Format %s for %s is deprecated - please use"
 
1732
                    " 'bzr upgrade --1.6.1-rich-root'"
 
1733
                    % (self._format, self.bzrdir.transport.base))
1727
1734
 
1728
1735
    def _abort_write_group(self):
1729
1736
        self._pack_collection._abort_write_group()
2086
2093
 
2087
2094
 
2088
2095
class RepositoryFormatKnitPack5RichRoot(RepositoryFormatPack):
 
2096
    """A repository with rich roots and stacking.
 
2097
 
 
2098
    New in release 1.6.1.
 
2099
 
 
2100
    Supports stacking on other repositories, allowing data to be accessed
 
2101
    without being stored locally.
 
2102
    """
 
2103
 
 
2104
    repository_class = KnitPackRepository
 
2105
    _commit_builder_class = PackRootCommitBuilder
 
2106
    rich_root_data = True
 
2107
    supports_tree_reference = False # no subtrees
 
2108
    _serializer = xml6.serializer_v6
 
2109
    supports_external_lookups = True
 
2110
 
 
2111
    def _get_matching_bzrdir(self):
 
2112
        return bzrdir.format_registry.make_bzrdir(
 
2113
            '1.6.1-rich-root')
 
2114
 
 
2115
    def _ignore_setting_bzrdir(self, format):
 
2116
        pass
 
2117
 
 
2118
    _matchingbzrdir = property(_get_matching_bzrdir, _ignore_setting_bzrdir)
 
2119
 
 
2120
    def check_conversion_target(self, target_format):
 
2121
        if not target_format.rich_root_data:
 
2122
            raise errors.BadConversionTarget(
 
2123
                'Does not support rich root data.', target_format)
 
2124
 
 
2125
    def get_format_string(self):
 
2126
        """See RepositoryFormat.get_format_string()."""
 
2127
        return "Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6.1)\n"
 
2128
 
 
2129
    def get_format_description(self):
 
2130
        return "Packs 5 rich-root (adds stacking support, requires bzr 1.6.1)"
 
2131
 
 
2132
 
 
2133
class RepositoryFormatKnitPack5RichRootBroken(RepositoryFormatPack):
2089
2134
    """A repository with rich roots and external references.
2090
2135
 
2091
2136
    New in release 1.6.
2092
2137
 
2093
2138
    Supports external lookups, which results in non-truncated ghosts after
2094
2139
    reconcile compared to pack-0.92 formats.
 
2140
 
 
2141
    This format was deprecated because the serializer it uses accidentally
 
2142
    supported subtrees, when the format was not intended to. This meant that
 
2143
    someone could accidentally fetch from an incorrect repository.
2095
2144
    """
2096
2145
 
2097
2146
    repository_class = KnitPackRepository
2115
2164
        if not target_format.rich_root_data:
2116
2165
            raise errors.BadConversionTarget(
2117
2166
                'Does not support rich root data.', target_format)
2118
 
            
 
2167
 
2119
2168
    def get_format_string(self):
2120
2169
        """See RepositoryFormat.get_format_string()."""
2121
2170
        return "Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6)\n"
2122
2171
 
2123
2172
    def get_format_description(self):
2124
 
        return "Packs 5 rich-root (adds stacking support, requires bzr 1.6)"
 
2173
        return ("Packs 5 rich-root (adds stacking support, requires bzr 1.6)"
 
2174
                " (deprecated)")
2125
2175
 
2126
2176
 
2127
2177
class RepositoryFormatPackDevelopment0(RepositoryFormatPack):