← Back to issue list

many: detect local source changes

View original Github issue

Metadata

Project
snapcraft
Number
#2167
Type
pull request
State
merged
Author
kyrofa
Labels
Created
Updated
Closed

Current evaluation

Merged. Resolves LP: #1583718 by comparing local source timestamps to pull state. Snapcraft now automatically triggers re-pulling and subsequent steps on local changes, removing manual cleaning. Approved and merged after test fixes.

Suggested action:

No scores available.

Issue body

- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? ----- The snapcraft CLI doesn't notice changes to local sources once the parts have been pulled: one must clean and re-pull in order to take them into account. This PR resolves [LP: #1583718](https://bugs.launchpad.net/snapcraft/+bug/1583718) by comparing local source timestamps to the pull state timestamp, and updating the pull (and all subsequent) steps as necessary.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Resolves LP: #1583718 by comparing local source timestamps to pull state. Snapcraft now automatically triggers re-pulling and subsequent steps on local changes, removing manual cleaning. Approved and merged after test fixes.
qwen3.6-35b-a3b-mtp-q6 Merged after test fixes and review approval. Resolves LP #1583718 by comparing local source timestamps to pull state, automatically updating affected build steps when local files change.
qwen3.6-35b-a3b-mtp-q6 Merged after test fixes and maintainer approval. Implements timestamp comparison to detect local source changes, removing the need to manually clean and re-pull parts. Resolves Launchpad bug #1583718.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2256 local source: don't include .snapcraft directory snapcraft merged Resolved LP: #1791773 by merging a change that excludes the .snapcraft directory from copying and part staleness checks. Approved, passed CI, and merged with a six-line update across two files.
72%
#2475 sources: avoid marking changes to the snap directory as dirty snapcraft merged Merged a fix preventing local sources from being incorrectly marked as dirty when the snap directory changes. Resolves regression from PR #2419 and LP: #1816397.
72%
#448 Detect dirty pull step. snapcraft merged Merged changes add dirty detection for the pull step in Snapcraft, resolving Launchpad bug #1477904. The update errors on YAML changes, requiring manual cleanup instead of automatic removal. Approved by sergiusens.
71%
#38 sources: add the local source handler craft-parts merged Merged the local source handler for pull and update operations on host filesystem sources. Ported from snapcraft, the change was approved by two reviewers, passed CI, and added 522 lines across three files.
71%
#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.
70%