Kristoffer Carlsson
Kristoffer Carlsson
Yep, I agree, better before.
Having the system git as a fallback (or as an option via some kind of configuration) for fetching things from the internet is perfectly fine. However, we use LibGit2 for...
> In particular, there are no more situations where we would have to do git operations that don't hit the network Some examples: we use it to check if a...
> but I think it should do range_compressed_versionspec(versions, [ver.v for ver in ... if !ver.isyanked]) To me, filtering out yanked versions should already have happened at this stage in https://github.com/JuliaLang/Pkg.jl/blob/1f16df404a2fbe8642ea3eecc9f4d7064c400a73/src/Operations.jl#L532...
What goes into the resolver is: ``` "KernelAbstractions" => VersionNumber[v"0.1.0", v"0.1.1", v"0.1.2", v"0.1.3", v"0.1.4", v"0.1.5", v"0.1.6", v"0.2.0", v"0.2.1", v"0.2.2", v"0.2.3", v"0.2.4", v"0.2.5", v"0.2.6", v"0.3.0", v"0.3.1", v"0.3.2", v"0.3.3", v"0.4.0", v"0.4.1", v"0.4.2",...
What's the difference between a yanked version and a non existing version? They are currently treated the same.
> `range_compressed_versionspec(versions, [ver.v for ver in ... if !ver.isyanked])` There are no yanked versions that the resolver knows about so that check doesn't make sense to me.
The range doesn't mean every single version possible within that range exists (that's an infinite number of versions) . The error message is just like if someone would have skipped...
To be explicit: ``` (@v1.12) pkg> add [email protected] Updating registry at `~/.julia/registries/General.toml` Resolving package versions... ERROR: Unsatisfiable requirements detected for package Crayons [a8cc5b0e]: Crayons [a8cc5b0e] log: ├─possible versions are: 0.5.0...
We can do a lookup before even resolving for any versions that are fully qualified with `@x.y.z` and say if it doesn't exist (or is yanked).