samtygier added the comment:
here is a patch against http://svn.python.org/projects/python/trunk
it moves the return statements into the individual file copying sections, and
takes the final call to _copy_file_contents() out of the else. this allows an
error in hardlinking to fall through by
New submission from samtygier :
distutils will currently try to use hardlinks if os has a 'link' attribute,
however sometimes os.link() will fail, for example the filesystem may not
support it (see attached traceback).
in commands/sdist.py in make_release_tree() there is the test: