Hard-link local sources instead of symlinking them.
Metadata
Current evaluation
Merged. Fixes LP #1590108 by hard-linking local sources instead of symlinking, with a fallback to copying if hard links are unsupported. Review comments were addressed and CI coverage fluctuations resolved prior to merge.
Suggested action: —
No scores available.
Issue body
This PR fixes LP: [#1590108](https://bugs.launchpad.net/snapcraft/+bug/1590108) by hard-linking local sources instead of symlinking them. If hard links aren't possible, it copies them instead.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Fixes LP #1590108 by hard-linking local sources instead of symlinking, with a fallback to copying if hard links are unsupported. Review comments were addressed and CI coverage fluctuations resolved prior to merge. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Replaces symlinks with hard links for local sources, falling back to copying if hard links fail. Resolves Launchpad bug #1590108 after maintainer review and CI verification. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged changes local source handling from symlinks to hard links, falling back to copies when hard links fail. Resolves Launchpad bug #1590108 after passing review and CI checks. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #377 Correct local source pulling | snapcraft | merged | Merged fix for local source pulling that incorrectly followed symlinks, causing rmdir failures and duplicate pull errors. The change inverts the directory check, adds explicit symlink validation, and improves error handling. Approved by @zyga. Resolves LP: #1558446. | |
| #1081 local source: preserve symlinks to directories. | snapcraft | merged | Merged to preserve symlinks to directories in local sources instead of creating new directories, fixing Launchpad bug #1659653. Approved and merged after PR #1083 to group similar changes. | |
| #3497 repo: fix regression in fix_symlink() | snapcraft | merged | Merged a fix for a regression in fix_symlink() where copied files retained stale symlinks. The update ensures symlinks correctly point to new files and adds spread tests for relative and host copy scenarios. Approved by two reviewers and passed CI. |