Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Work around symlink-related issues on Windows #70

Open
mortenpi opened this issue Sep 12, 2023 · 0 comments
Open

Work around symlink-related issues on Windows #70

mortenpi opened this issue Sep 12, 2023 · 0 comments
Labels
wontfix This will not be worked on

Comments

@mortenpi
Copy link
Member

mortenpi commented Sep 12, 2023

As discovered in #68, the way symlinks are handled in Windows with Git is problematic, and so to be on the safe side, we'll disable MultiDocumenter deployments on Windows for now. This issue tracks fixing the underlying symlink problems.


A brief description of the blockers faced in #68:

  • The fundamental problem with Windows appears to be that Git does not create symlinks by default in Windows. Instead, what are symlinks on the Git branch end up being simple text files. This is a problem, since Documenter deployments rely on organizing things with symlinks, and MultiDocumenter wants to traverse those symlinks sometimes.
  • You can force Git to create symlinks with git config --global core.symlinks true (although I think you also need to make sure you have the appropriate permissions, which includes being an administrator on older Windows versions, i.e. < 11?). But those still do not work -- Julia's isdir, for example, will throw permission errors even when running as an admin.

Just as a thought: one potential fix could be to use git ls-files -s to go through the list of files and "dereference" the symlinks ourselves (i.e. remove the text or symlink file and create a copy the destination directory). Unfortunately, it doesn't look like there's an option for Git to have it do that automatically when it checks out the repo.

@pfitzseb pfitzseb added the wontfix This will not be worked on label Oct 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants