~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/textinv.py

  • Committer: Jelmer Vernooij
  • Date: 2009-02-23 20:55:58 UTC
  • mfrom: (4034 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4053.
  • Revision ID: jelmer@samba.org-20090223205558-1cx2k4w1zgs8r5qa
Merge bzr.dev.

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