-
Notifications
You must be signed in to change notification settings - Fork 520
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
Paket Install and Large Sub-directories #1782
Comments
Making this up-for-grabs since I think it will be probably easy to fix if one has a repro. |
The issue is ProjectFile.FindAllProjects (profiled through mono). It recursively searches all directories, which is not good when the directories are huge (and potentially irrelevant to the Are the project files that make up a solution not known through some other file? I'll edit the title and description to be a little less sensationalist 😉 |
It's important to note that paket doesn't require, and in fact never assumes, the presence of a solution file. It's entirely fixated around projects. Now, that said, it would be possible augment the existing FindAllProjects code to have an optional hot-path if it finds a .sln file to read that file and take the project list from there, but continue to support the search-based method. |
A hot path is fine, but the worst case is still pretty bad. I have a node.js project with a Also consider the use case when there are no projects (Paket from F# interactive). How could we implement a hot path? |
Note that the presence of a solution file does not guarantee that it contains a complete list of all projects. I typically have multiple solution files, each of them covering a subset of projects only. |
Mhm we probably can black list parts of the tree. Like we don't need to look into packages folder. And we probably don't need to look into node folders. PRs welcome |
Description
paket.exe install
does not finish when invoked in a directories with large sub-directoriesRepro steps
Known workarounds
cd
into/tmp
and everything works fine 😛Related information
The text was updated successfully, but these errors were encountered: