| ... | ... | @@ -1398,7 +1398,7 @@ fn configure(graph: *Graph, options: ConfigureOptions) !ScannedConfig { |
| 1398 | 1398 | process.exit(0); |
| 1399 | 1399 | } |
| 1400 | 1400 | |
| 1401 | | try validateFingerprints(gpa, &job_queue); |
| 1401 | try validateFingerprints(gpa, &job_queue, &fork_set); |
| 1402 | 1402 | |
| 1403 | 1403 | // Create the dependencies.zig file for configurer to |
| 1404 | 1404 | // obtain via `@import("@dependencies")`. |
| ... | ... | @@ -1749,7 +1749,11 @@ const ValidFingerprintTable = std.array_hash_map.Custom( |
| 1749 | 1749 | |
| 1750 | 1750 | /// Ensure that the dependency tree did not have any fingerprint matches with the same semantic version but |
| 1751 | 1751 | /// differing package hashes. |
| 1752 | | fn validateFingerprints(gpa: Allocator, job_queue: *const Fetch.JobQueue) !void { |
| 1752 | fn validateFingerprints( |
| 1753 | gpa: Allocator, |
| 1754 | job_queue: *const Fetch.JobQueue, |
| 1755 | fork_set: *const Package.Fetch.JobQueue.ForkSet, |
| 1756 | ) !void { |
| 1753 | 1757 | var any_errors = false; |
| 1754 | 1758 | |
| 1755 | 1759 | var table: ValidFingerprintTable = .empty; |
| ... | ... | @@ -1757,8 +1761,13 @@ fn validateFingerprints(gpa: Allocator, job_queue: *const Fetch.JobQueue) !void |
| 1757 | 1761 | |
| 1758 | 1762 | for (job_queue.table.keys(), job_queue.table.values()) |pkg_hash, fetch| { |
| 1759 | 1763 | if (!fetch.have_manifest) continue; |
| 1764 | |
| 1765 | // Forked packages are exempt since they overide multiple package hashes to have the forked contents. |
| 1766 | const project_id: Package.ProjectId = .init(fetch.manifest.name, fetch.manifest.id); |
| 1767 | if (fork_set.containsAdapted(project_id, @as(Fetch.JobQueue.Fork.Adapter, .{}))) continue; |
| 1768 | |
| 1760 | 1769 | const gop = try table.getOrPut(gpa, .{ |
| 1761 | | .project_id = .init(fetch.manifest.name, fetch.manifest.id), |
| 1770 | .project_id = project_id, |
| 1762 | 1771 | .version = fetch.manifest.version, |
| 1763 | 1772 | }); |
| 1764 | 1773 | if (gop.found_existing) { |