Repository navigation
Commit 022063d
* Start fix for #1105
Assisted-by: Claude Code:claude-opus-5-5
* Vendor over a hosted pin at an older patch
After a hosted scan with patch A and a `uv sync` or `poetry install`,
the venv holds A's patched bytes. When a newer patch B for the same
release arrived, `scan --mode vendored` / `vendor` dropped the package
as "no installed package found on disk" and exited 1, leaving the
project hosted on A, while the dry run previewed success.
The installed copy is recognised as a superseded install only through
the vendor ledger. A live hosted pin at another patch uuid now counts
too (for a sole release variant, since the pin names none), so the
takeover restores the upstream entry and vendors B from the pristine
artifact.
Fixes #1105
Assisted-by: Claude Code:claude-opus-5-5
* Cover the requirements.txt lane of #1105
The issue also reproduces in the uv pip requirements.txt lane, which
goes through the same check, so the regression test runs it too.
Assisted-by: Claude Code:claude-opus-5-5
* Count any hosted pin as a superseded PyPI install
A venv synced from an older hosted patch can sit under a lock a later
hosted scan already moved to the patch being vendored, and a package
can carry hosted pins at two uuids in different files. Treat any live
hosted pin as the superseded install, keep the rule to PyPI so gems
still refuse a platform gem from their installed dir, and give the
download planner the same hosted check as the vendor loop.
Assisted-by: Claude Code:claude-opus-5-5
---------
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 0b9169b commit 022063d
2 files changed
Lines changed: 108 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2537 | 2537 | | |
2538 | 2538 | | |
2539 | 2539 | | |
| 2540 | + | |
| 2541 | + | |
| 2542 | + | |
| 2543 | + | |
| 2544 | + | |
| 2545 | + | |
| 2546 | + | |
2540 | 2547 | | |
2541 | 2548 | | |
2542 | 2549 | | |
2543 | 2550 | | |
2544 | 2551 | | |
| 2552 | + | |
2545 | 2553 | | |
2546 | 2554 | | |
2547 | 2555 | | |
2548 | | - | |
| 2556 | + | |
| 2557 | + | |
| 2558 | + | |
2549 | 2559 | | |
2550 | 2560 | | |
2551 | 2561 | | |
| |||
2605 | 2615 | | |
2606 | 2616 | | |
2607 | 2617 | | |
2608 | | - | |
2609 | | - | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
2610 | 2625 | | |
2611 | 2626 | | |
2612 | 2627 | | |
| |||
3093 | 3108 | | |
3094 | 3109 | | |
3095 | 3110 | | |
3096 | | - | |
3097 | | - | |
| 3111 | + | |
| 3112 | + | |
| 3113 | + | |
| 3114 | + | |
| 3115 | + | |
| 3116 | + | |
| 3117 | + | |
3098 | 3118 | | |
3099 | 3119 | | |
3100 | 3120 | | |
| |||
4909 | 4929 | | |
4910 | 4930 | | |
4911 | 4931 | | |
| 4932 | + | |
| 4933 | + | |
| 4934 | + | |
| 4935 | + | |
| 4936 | + | |
| 4937 | + | |
| 4938 | + | |
| 4939 | + | |
| 4940 | + | |
| 4941 | + | |
| 4942 | + | |
| 4943 | + | |
| 4944 | + | |
| 4945 | + | |
| 4946 | + | |
| 4947 | + | |
| 4948 | + | |
| 4949 | + | |
| 4950 | + | |
| 4951 | + | |
| 4952 | + | |
| 4953 | + | |
4912 | 4954 | | |
4913 | 4955 | | |
4914 | 4956 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
995 | 995 | | |
996 | 996 | | |
997 | 997 | | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
998 | 1059 | | |
999 | 1060 | | |
1000 | 1061 | | |
| |||
0 commit comments