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

Fixes and improvements to Pkg resolver #24904

Merged
merged 4 commits into from
Dec 5, 2017
Merged

Fixes and improvements to Pkg resolver #24904

merged 4 commits into from
Dec 5, 2017

Conversation

carlobaldassi
Copy link
Member

The third commit fixes the assertion error which popped up in METADATA: JuliaLang/METADATA.jl#12306

The first two are general improvements; the graph gets simplified much more, and the sanity check is also made more robust. It's also faster, as checking METADATA went from 60s to 45s on my laptop.

All commits together should generally help considerably with the issues which have popped up in METADATA recently. They should also be quite straightforward to backport.

I have other improvements in mind, but I will do them in Pkg3 (once I have ported this there, and started harmonizing the codes, cc @StefanKarpinski, @KristofferC)

Computes the dependency graph subset induced by the requirements
after filter_versions has propagated the implicit requirements,
rather than before, which ensures that only the parts reachable
from some requirement are kept. In practice, it removes many more
useless parts of the graph.

(Plus other tiny improvements.)
Set the packages as fixed when checking instead of just
requiring them; propagate the resolution info; improve
the dependency computation efficiency; some refactoring.
Fixes the rare condition where two packages were
being decimated at once in mutually inconsistent
versions.
@carlobaldassi carlobaldassi added the bugfix This change fixes an existing bug label Dec 4, 2017
@ararslan ararslan added the packages Package management and loading label Dec 4, 2017
@carlobaldassi
Copy link
Member Author

Barring comments/objections, I'll merge later today.

@carlobaldassi carlobaldassi merged commit 8fb8db1 into master Dec 5, 2017
@StefanKarpinski StefanKarpinski deleted the cb/resolvefix branch December 5, 2017 19:10
@StefanKarpinski StefanKarpinski restored the cb/resolvefix branch December 5, 2017 19:10
@KristofferC KristofferC deleted the cb/resolvefix branch December 5, 2017 19:14
ararslan pushed a commit that referenced this pull request Apr 26, 2018
Computes the dependency graph subset induced by the requirements
after filter_versions has propagated the implicit requirements,
rather than before, which ensures that only the parts reachable
from some requirement are kept. In practice, it removes many more
useless parts of the graph.

(Plus other tiny improvements.)

Ref #24904
(cherry picked from commit 9b00059)
ararslan pushed a commit that referenced this pull request Apr 26, 2018
Set the packages as fixed when checking instead of just
requiring them; propagate the resolution info; improve
the dependency computation efficiency; some refactoring.

Ref #24904
(cherry picked from commit 114e82e)
ararslan pushed a commit that referenced this pull request Apr 26, 2018
Fixes the rare condition where two packages were
being decimated at once in mutually inconsistent
versions.

Ref #24904
(cherry picked from commit 450c8c4)
ararslan pushed a commit that referenced this pull request Apr 26, 2018
Ref #24904
(cherry picked from commit 208f633)
ararslan pushed a commit that referenced this pull request Apr 26, 2018
Computes the dependency graph subset induced by the requirements
after filter_versions has propagated the implicit requirements,
rather than before, which ensures that only the parts reachable
from some requirement are kept. In practice, it removes many more
useless parts of the graph.

(Plus other tiny improvements.)

Ref #24904
(cherry picked from commit 9b00059)
ararslan pushed a commit that referenced this pull request Apr 26, 2018
Set the packages as fixed when checking instead of just
requiring them; propagate the resolution info; improve
the dependency computation efficiency; some refactoring.

Ref #24904
(cherry picked from commit 114e82e)
ararslan pushed a commit that referenced this pull request Apr 26, 2018
Fixes the rare condition where two packages were
being decimated at once in mutually inconsistent
versions.

Ref #24904
(cherry picked from commit 450c8c4)
ararslan pushed a commit that referenced this pull request Apr 26, 2018
Ref #24904
(cherry picked from commit 208f633)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugfix This change fixes an existing bug packages Package management and loading
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants