~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/weavefile.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-08-17 07:52:09 UTC
  • mfrom: (1910.3.4 trivial)
  • Revision ID: pqm@pqm.ubuntu.com-20060817075209-e85a1f9e05ff8b87
(andrew) Trivial fixes to NotImplemented errors.

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
 
46
46
 
47
47
def write_weave(weave, f, format=None):
48
 
    if format is None or format == 1:
 
48
    if format == None or format == 1:
49
49
        return write_weave_v5(weave, f)
50
50
    else:
51
51
        raise ValueError("unknown weave format %r" % format)
53
53
 
54
54
def write_weave_v5(weave, f):
55
55
    """Write weave to file f."""
56
 
    f.write(FORMAT_1)
 
56
    print >>f, FORMAT_1,
57
57
 
58
58
    for version, included in enumerate(weave._parents):
59
59
        if included:
60
60
            # mininc = weave.minimal_parents(version)
61
61
            mininc = included
62
 
            f.write('i ')
63
 
            f.write(' '.join(str(i) for i in mininc))
64
 
            f.write('\n')
 
62
            print >>f, 'i',
 
63
            for i in mininc:
 
64
                print >>f, i,
 
65
            print >>f
65
66
        else:
66
 
            f.write('i\n')
67
 
        f.write('1 ' + weave._sha1s[version] + '\n')
68
 
        f.write('n ' + weave._names[version] + '\n')
69
 
        f.write('\n')
 
67
            print >>f, 'i'
 
68
        print >>f, '1', weave._sha1s[version]
 
69
        print >>f, 'n', weave._names[version]
 
70
        print >>f
70
71
 
71
 
    f.write('w\n')
 
72
    print >>f, 'w'
72
73
 
73
74
    for l in weave._weave:
74
75
        if isinstance(l, tuple):
75
76
            assert l[0] in '{}[]'
76
77
            if l[0] == '}':
77
 
                f.write('}\n')
 
78
                print >>f, '}'
78
79
            else:
79
 
                f.write('%s %d\n' % l)
 
80
                print >>f, '%s %d' % l
80
81
        else: # text line
81
82
            if not l:
82
 
                f.write(', \n')
 
83
                print >>f, ', '
83
84
            elif l[-1] == '\n':
84
85
                assert l.find('\n', 0, -1) == -1
85
 
                f.write('. ' + l)
 
86
                print >>f, '.', l,
86
87
            else:
87
88
                assert l.find('\n') == -1
88
 
                f.write(', ' + l + '\n')
 
89
                print >>f, ',', l
89
90
 
90
 
    f.write('W\n')
 
91
    print >>f, 'W'
91
92
 
92
93
 
93
94
 
123
124
 
124
125
    lines = iter(f.readlines())
125
126
    
126
 
    try:
127
 
        l = lines.next()
128
 
    except StopIteration:
129
 
        raise WeaveFormatError('invalid weave file: no header')
130
 
 
 
127
    l = lines.next()
131
128
    if l != FORMAT_1:
132
129
        raise WeaveFormatError('invalid weave file header: %r' % l)
133
130