~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/weavefile.py

Make use of the transaction finalisation warning support to implement in-knit caching.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /usr/bin/python
2
 
 
3
1
# Copyright (C) 2005 Canonical Ltd
4
2
 
5
3
# This program is free software; you can redistribute it and/or modify
95
93
 
96
94
 
97
95
def read_weave(f):
98
 
    return read_weave_v5(f)
99
 
 
100
 
 
101
 
def read_weave_v5(f):
102
 
    from weave import Weave, WeaveFormatError
 
96
    # FIXME: detect the weave type and dispatch
 
97
    from bzrlib.trace import mutter
 
98
    from weave import Weave
103
99
    w = Weave(getattr(f, 'name', None))
 
100
    _read_weave_v5(f, w)
 
101
    return w
 
102
 
 
103
 
 
104
def _read_weave_v5(f, w):
 
105
    """Private helper routine to read a weave format 5 file into memory.
 
106
    
 
107
    This is only to be used by read_weave and WeaveFile.__init__.
 
108
    """
 
109
    from weave import WeaveFormatError
104
110
 
105
111
    l = f.readline()
106
112
    if l != FORMAT_1: