~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/textinv.py

  • Committer: Martin Pool
  • Date: 2009-03-03 03:01:49 UTC
  • mfrom: (4070 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4073.
  • Revision ID: mbp@sourcefrog.net-20090303030149-8p8o8hszdtqa7w8f
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
 
26
26
def escape(s):
27
27
    """Very simple URL-like escaping.
28
 
    
 
28
 
29
29
    (Why not just use backslashes?  Because then we couldn't parse
30
30
    lines just by splitting on spaces.)"""
31
31
    return (s.replace('\\', r'\x5c')
46
46
    # TODO: What if there's anything else?
47
47
 
48
48
    return s
49
 
    
50
 
                     
 
49
 
 
50
 
51
51
 
52
52
 
53
53
def write_text_inventory(inv, outf):
56
56
    for path, ie in inv.iter_entries():
57
57
        if inv.is_root(ie.file_id):
58
58
            continue
59
 
        
 
59
 
60
60
        outf.write(ie.file_id + ' ')
61
61
        outf.write(escape(ie.name) + ' ')
62
62
        outf.write(ie.kind + ' ')
63
63
        outf.write(ie.parent_id + ' ')
64
 
        
 
64
 
65
65
        if ie.kind == 'file':
66
66
            outf.write(ie.text_id)
67
67
            outf.write(' ' + ie.text_sha1)
74
74
    """Return an inventory read in from tf"""
75
75
    if tf.readline() != START_MARK:
76
76
        raise BzrError("missing start mark")
77
 
    
 
77
 
78
78
    inv = Inventory()
79
79
 
80
80
    for l in tf:
86
86
              'kind': fields[2],
87
87
              'parent_id': fields[3]}
88
88
        ##inv.add(ie)
89
 
        
 
89
 
90
90
    if l != END_MARK:
91
91
        raise BzrError("missing end mark")
92
92
    return inv