Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Implement new spec for init #470
I would like to discuss if this is a good solution.
Instead of omitting the projects, I thought assuming the remote project's version to be
Also, enabled running the solver to ensure that a proper lock is generated and memo is not left empty after
There'd be a lot of pitfalls from this. Much better is to run a solve without constraints applied, then pick the versions to put back into the manifest. Please have a look at the WIP spec doc - it describes how such an algorithm should work for picking a constraint.
Because it's out of scope for this issue to change
Another attempt and a little bit closer, I guess :)
Removed false version assumption for not on disk projects. Instead, running solver to get the proper version and then picking the missing constraints of not on disk projects from the solution.
Since the lock from the previous solver run had missing constraints, running solver again with appropriate project version(manifest) to obtain a final lock. Sounds good?
Also, with the above changes, manifest, lock and vendor are generated properly, but the lock
My project has 2 direct dependencies:
This manifest map is then passed to the 2nd solver run to obtain the final lock, which is then written to manifest and lock files.
Now, if I run
Any idea how to handle this?
(for those things that weren't addressed inline...)
Ordering should not be an issue here. The input hasher is very, very careful about minimizing superfluous conflicts. It even removes irrelevant output (e.g. if a package is both imported and required, then the require value is not included in the hash, because it would be redundant and cause unnecessary hash conflicts). If gps' code is correct, it should be impossible for the caller to order inputs in a way that generate a superfluous conflict.
To get a better picture of why this conflict is happening, rather than printing the manifest itself, run
Another attempt with all my understandings
Also, the issue with different memo got resolved. I used
While on running status, hashing inputs were:
Revision value was causing the issue. With the modified constraint selections algo implementation, it got fixed.
And we are almost there
referenced this pull request
Apr 30, 2017
Ended up comparing their strings.