/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/bundle/serializer/v09.py

  • Committer: Robert Collins
  • Date: 2007-07-15 15:40:37 UTC
  • mto: (2592.3.33 repository)
  • mto: This revision was merged to the branch mainline in revision 2624.
  • Revision ID: robertc@robertcollins.net-20070715154037-3ar8g89decddc9su
Make GraphIndex accept nodes as key, value, references, so that the method
signature is closer to what a simple key->value index delivers. Also
change the behaviour when the reference list count is zero to accept
key, value as nodes, and emit key, value to make it identical in that case
to a simple key->value index. This may not be a good idea, but for now it
seems ok.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
 
from bzrlib.bundle.serializer import _get_bundle_header
 
17
from bzrlib.bundle.serializer import BUNDLE_HEADER
18
18
from bzrlib.bundle.serializer.v08 import BundleSerializerV08, BundleReader
19
19
from bzrlib.testament import StrictTestament3
20
20
from bzrlib.bundle.bundle_data import BundleInfo
25
25
 
26
26
class BundleSerializerV09(BundleSerializerV08):
27
27
    """Serializer for bzr bundle format 0.9
28
 
 
 
28
    
29
29
    This format supports rich root data, for the nested-trees work, but also
30
30
    supports repositories that don't have rich root data.  It cannot be
31
31
    used to transfer from a knit2 repo into a knit1 repo, because that would
38
38
    def _write_main_header(self):
39
39
        """Write the header for the changes"""
40
40
        f = self.to_file
41
 
        f.write(_get_bundle_header('0.9') + '#\n')
 
41
        f.write(BUNDLE_HEADER + '0.9\n#\n')
42
42
 
43
43
    def _testament_sha1(self, revision_id):
44
 
        return StrictTestament3.from_revision(self.source,
 
44
        return StrictTestament3.from_revision(self.source, 
45
45
                                              revision_id).as_sha1()
46
46
 
47
47
    def read(self, f):
55
55
 
56
56
class BundleInfo09(BundleInfo):
57
57
    """BundleInfo that uses StrictTestament3
58
 
 
 
58
    
59
59
    This means that the root data is included in the testament.
60
60
    """
61
61
 
69
69
 
70
70
class BundleReaderV09(BundleReader):
71
71
    """BundleReader for 0.9 bundles"""
72
 
 
 
72
    
73
73
    def _get_info(self):
74
74
        return BundleInfo09()