~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/osutils.py

Merge from bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
468
468
        return pathjoin(F(p), e)
469
469
 
470
470
 
471
 
@deprecated_function(one_zero)
472
 
def backup_file(fn):
473
 
    """Copy a file to a backup.
474
 
 
475
 
    Backups are named in GNU-style, with a ~ suffix.
476
 
 
477
 
    If the file is already a backup, it's not copied.
478
 
    """
479
 
    if fn[-1] == '~':
480
 
        return
481
 
    bfn = fn + '~'
482
 
 
483
 
    if has_symlinks() and os.path.islink(fn):
484
 
        target = os.readlink(fn)
485
 
        os.symlink(target, bfn)
486
 
        return
487
 
    inf = file(fn, 'rb')
488
 
    try:
489
 
        content = inf.read()
490
 
    finally:
491
 
        inf.close()
492
 
    
493
 
    outf = file(bfn, 'wb')
494
 
    try:
495
 
        outf.write(content)
496
 
    finally:
497
 
        outf.close()
498
 
 
499
 
 
500
471
def isdir(f):
501
472
    """True if f is an accessible directory."""
502
473
    try: