~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/osutils.py

  • Committer: Martin Pool
  • Date: 2005-09-13 05:22:41 UTC
  • Revision ID: mbp@sourcefrog.net-20050913052241-52dbd8e8ced620f6
- better BZR_DEBUG trace output

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
18
 
19
19
import os, types, re, time, errno, sys
20
 
import sha
21
 
from cStringIO import StringIO
22
 
 
23
20
from stat import S_ISREG, S_ISDIR, S_ISLNK, ST_MODE, ST_SIZE
24
21
 
25
22
from bzrlib.errors import BzrError
90
87
 
91
88
    If the file is already a backup, it's not copied.
92
89
    """
 
90
    import os
93
91
    if fn[-1] == '~':
94
92
        return
95
93
    bfn = fn + '~'
197
195
 
198
196
 
199
197
def sha_file(f):
 
198
    import sha
200
199
    if hasattr(f, 'tell'):
201
200
        assert f.tell() == 0
202
201
    s = sha.new()
209
208
    return s.hexdigest()
210
209
 
211
210
 
212
 
 
213
 
def sha_strings(strings):
214
 
    """Return the sha-1 of concatenation of strings"""
215
 
    s = sha.new()
216
 
    map(s.update, strings)
217
 
    return s.hexdigest()
218
 
 
219
 
 
220
211
def sha_string(f):
 
212
    import sha
221
213
    s = sha.new()
222
214
    s.update(f)
223
215
    return s.hexdigest()
225
217
 
226
218
 
227
219
def fingerprint_file(f):
 
220
    import sha
228
221
    s = sha.new()
229
222
    b = f.read()
230
223
    s.update(b)
499
492
        raise
500
493
 
501
494
 
502
 
 
503
 
def split_lines(s):
504
 
    """Split s into lines, but without removing the newline characters."""
505
 
    return StringIO(s).readlines()
506