~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/local.py

  • Committer: Parth Malwankar
  • Date: 2010-05-03 08:33:32 UTC
  • mto: This revision was merged to the branch mainline in revision 5210.
  • Revision ID: parth.malwankar@gmail.com-20100503083332-233xyz4wwef6x3ey
removedĀ unusedĀ import.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2011 Canonical Ltd
 
1
# Copyright (C) 2005-2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
20
20
"""
21
21
 
22
22
import os
23
 
from stat import ST_MODE, S_ISDIR, S_IMODE
 
23
from stat import ST_MODE, S_ISDIR, ST_SIZE, S_IMODE
24
24
import sys
25
25
 
26
26
from bzrlib.lazy_import import lazy_import
33
33
    osutils,
34
34
    urlutils,
35
35
    symbol_versioning,
 
36
    transport,
36
37
    )
 
38
from bzrlib.trace import mutter
37
39
from bzrlib.transport import LateReadError
38
40
""")
39
41
 
97
99
         - relative_reference is url escaped.
98
100
        """
99
101
        if relative_reference in ('.', ''):
100
 
            # _local_base normally has a trailing slash; strip it so that stat
101
 
            # on a transport pointing to a symlink reads the link not the
102
 
            # referent but be careful of / and c:\
103
 
            return osutils.split(self._local_base)[0]
 
102
            return self._local_base
104
103
        return self._local_base + urlutils.unescape(relative_reference)
105
104
 
106
105
    def abspath(self, relpath):
404
403
        try:
405
404
            # *don't* call bzrlib.osutils.rename, because we want to
406
405
            # detect conflicting names on rename, and osutils.rename tries to
407
 
            # mask cross-platform differences there
 
406
            # mask cross-platform differences there; however we do update the
 
407
            # exception to include the filenames
408
408
            os.rename(path_from, path_to)
409
409
        except (IOError, OSError),e:
410
410
            # TODO: What about path_to?
411
 
            self._translate_error(e, path_from)
 
411
            self._translate_error(
 
412
                osutils._add_rename_error_details(e, path_from, path_to),
 
413
                path_from)
412
414
 
413
415
    def move(self, rel_from, rel_to):
414
416
        """Move the item at rel_from to the location at rel_to"""