Commit ec5b8d5
committed
fix: invalidate lockfile when git rev (non-commit-hash) is removed from manifest
When a user specifies `rev = "main"` in pixi.toml and later removes it,
the lockfile should be invalidated and re-resolved. Previously, any
`Rev(_)` in the lockfile was treated as satisfiable when the manifest
had no explicit rev (DefaultBranch). This was incorrect because
`Rev("main")` is a named reference, not a specific commit hash.
Now the satisfiability check distinguishes between:
- `Rev(full_commit_hash)` → satisfiable (specific commit is still valid)
- `Rev(non_hash)` like "main" → NOT satisfiable, triggers re-resolve
Fixes the issue reported by Ruben in PR #5215.1 parent 1e3f173 commit ec5b8d5
1 file changed
+25
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
973 | 973 | | |
974 | 974 | | |
975 | 975 | | |
976 | | - | |
| 976 | + | |
| 977 | + | |
977 | 978 | | |
| 979 | + | |
| 980 | + | |
978 | 981 | | |
979 | 982 | | |
980 | 983 | | |
| |||
988 | 991 | | |
989 | 992 | | |
990 | 993 | | |
991 | | - | |
992 | | - | |
993 | | - | |
| 994 | + | |
| 995 | + | |
994 | 996 | | |
995 | 997 | | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
996 | 1017 | | |
997 | 1018 | | |
998 | 1019 | | |
| |||
0 commit comments