'Move self to destination - basically renaming self to whatever
destination is named.
If destination is an already-existing directory,
moves all children to destination if destination is empty.  If
destination is a non-empty directory, or destination is a file, an
OSError will be raised.
If moving between filesystems, self needs to be copied, and everything
that applies to copyTo applies to moveTo.
@param destination: the destination (a FilePath) to which self
should be copied
@param followLinks: whether symlinks in self should be treated as links
or as their targets (only applicable when moving between
filesystems)'

def moveTo(self, destination, followLinks=True):

    try:
        os.rename(self._getPathAsSameTypeAs(destination.path), destination.path)
    except OSError as ose:
        if (ose.errno == errno.EXDEV):
            secsib = destination.temporarySibling()
            self.copyTo(secsib, followLinks)
            secsib.moveTo(destination, followLinks)
            mysecsib = self.temporarySibling()
            self.moveTo(mysecsib, followLinks)
            mysecsib.remove()
        else:
            raise
    else:
        self.changed()
        destination.changed()
