[Python-Dev] [Python-checkins] cpython: Issue #9993: When the source and destination are on different filesystems,

Nick Coghlan ncoghlan at gmail.com
Sat Jan 7 14:22:44 CET 2012

On Sat, Jan 7, 2012 at 5:17 AM, antoine.pitrou
<python-checkins at python.org> wrote:
> http://hg.python.org/cpython/rev/1ea8b7233fd7
> changeset:   74288:1ea8b7233fd7
> user:        Antoine Pitrou <solipsis at pitrou.net>
> date:        Fri Jan 06 20:16:19 2012 +0100
> summary:
>  Issue #9993: When the source and destination are on different filesystems,
> and the source is a symlink, shutil.move() now recreates a symlink on the
> destination instead of copying the file contents.
> Patch by Jonathan Niehof and Hynek Schlawack.

That seems like a fairly nasty backwards incompatibilty right there.
While the old behaviour was different from mv, it was still perfectly
well defined. Now, operations that used to work may fail - basically
anything involving an absolute symlink will silently fail if being
moved to removable media (it will create a symlink that is completely
useless on the destination machine). Relative symlinks may or may not
be broken depending on whether or not their target is *also* being
copied to the destination media.

The new help text also doesn't say what will happen if the destination
doesn't even *support* symlinks (as is quite likely in the removable
media case).


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Python-Dev mailing list