diff --git a/project.py b/project.py index c91085c3..9a7128af 100644 --- a/project.py +++ b/project.py @@ -2373,6 +2373,14 @@ class Project(object): if name in symlink_dirs and not os.path.lexists(src): os.makedirs(src) + if name in to_symlink: + os.symlink(os.path.relpath(src, os.path.dirname(dst)), dst) + elif copy_all and not os.path.islink(dst): + if os.path.isdir(src): + shutil.copytree(src, dst) + elif os.path.isfile(src): + shutil.copy(src, dst) + # If the source file doesn't exist, ensure the destination # file doesn't either. if name in symlink_files and not os.path.lexists(src): @@ -2381,13 +2389,6 @@ class Project(object): except OSError: pass - if name in to_symlink: - os.symlink(os.path.relpath(src, os.path.dirname(dst)), dst) - elif copy_all and not os.path.islink(dst): - if os.path.isdir(src): - shutil.copytree(src, dst) - elif os.path.isfile(src): - shutil.copy(src, dst) except OSError as e: if e.errno == errno.EPERM: raise DownloadError('filesystem must support symlinks')