-
Notifications
You must be signed in to change notification settings - Fork 426
nix: fix several regressions related to git introduced in v1.7 #1992
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
Conversation
Claude finished @sandydoo's task —— View job PR Review CompleteI've reviewed the changes and have feedback on code quality, potential issues, and test coverage. Todo List:
Issues FoundCritical Bug - Shebang TypoFile: #/usr/bin/env bash # Missing ! - should be #!/usr/bin/env bash This will cause the test to fail as bash won't be invoked properly. Code Quality Issuesdevenv-run-tests/src/main.rs:
Test Coverage ConcernsIncomplete Edge Case Testing:
Test Structure Issues:
Security ConsiderationsPath Traversal Risk:
Performance ImpactFlake.lock Updates:
Recommendations
Overall AssessmentThe approach is sound and addresses the core issues described in the PR. The addition of The flake.lock update appears necessary and appropriate for fixing the underlying Nix 2.30 path resolution issues. |
173f099
to
de65466
Compare
Deploying devenv with
|
Latest commit: |
8303f0b
|
Status: | ✅ Deploy successful! |
Preview URL: | https://31a82edc.devenv.pages.dev |
Branch Preview URL: | https://fix-source-copying.devenv.pages.dev |
Can we add a test so we can catch this next time? |
Yeah, I'm thinking about how to do this. We have integration tests for detecting files, but those use eval and this is a flake-specific issue. |
0ba82ec
to
6cf5130
Compare
a82e492
to
80636ad
Compare
80636ad
to
3023b51
Compare
- Use direct filesystem access for local paths outside of git repos. - Fix path resolution of relative local paths
This is a regression tests for a input hack that lets you create monorepo designs.
3023b51
to
8303f0b
Compare
Final test run. |
Fixes several regressions in v1.7 to do with git.
Path resolution outside of git repos
Nix 2.30 introduced an issue where local paths were copied to the Nix store when not part of a git repo. This broke the caching system because, once copied to the store, Nix would lose track of the context by not using the file system accessor for paths.
Path resolution for non-flake git+file inputs
Some people uses
git+file
inputs to work around flake limitations and compose shared devenvs in a monorepo. Nix 2.30 broke the path resolution here as well, causing the paths to be resolved to the Nix store.Testing cachix/nix#7.
Fixes #1990.
Fixes #2002.
Fixes #2001.
Likely related (missing more information from OPs)
#1998