~jelmer/ubuntu/maverick/bzr/2.2.5

« back to all changes in this revision

Viewing changes to bzrlib/textinv.py

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2009-03-10 14:11:59 UTC
  • mfrom: (1.2.1 upstream) (3.1.68 jaunty)
  • Revision ID: james.westby@ubuntu.com-20090310141159-lwzzo5c1fwrtzgj4
New upstream release.

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