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

Antoine Pitrou solipsis at pitrou.net
Sat Jan 7 19:00:31 CET 2012


On Sat, 7 Jan 2012 23:22:44 +1000
Nick Coghlan <ncoghlan at gmail.com> wrote:
> 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.

That's why it made it in 3.3 only.

> While the old behaviour was different from mv, it was still perfectly
> well defined.

I'm not sure it was *well* defined (or even defined at all). It seems
more of a by-product of the implementation. It's not only different
from mv, but it's inconsistent with itself (the semantics are different
depending on whether the paths are on the same filesystem or not;
also, it copied the *file* but erased the *link*).

Regards

Antoine.




More information about the Python-checkins mailing list