Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix handling of symbolic links on Windows
When cloning a Git repository on Windows Git puts the link file path as the content of an ordinary file. When downloading tarball the symbolic link files cannot be properly established and Tar writes empty files instead. This leads to different packages checksums compared to the case when the package is downloaded via Git or downloaded on Linux either via Git or via tarball. To fix the problem we parsed the content of the tarball and extract the link paths from there. After that, we write a link file with the link path in it overriding the empty file extracted by Tar. Additionally, the `getPackageFileListWithoutVcs` procedure is fixed to return relative paths to files with `/` character as directory separator even on Windows, because they are used in the package checksum calculation and we must have the same checksum for the same package regardless of the operating system or download method. Related to nim-lang#127
- Loading branch information