dotnet / dotnet/project-system
FUTDC item set tracking should tolerate remove then add of same item
- Dominant language
- C#
- Stars
- 1k
- Forks
- 415
- PR merge metrics
- No merged PRs in 30d
Description
Some build processes generate input files as part of the build. If this is done by deleting then re-creating the file (as opposed to just overwriting the file), the FUTDC currently observes this as a "change to the set of items", even if the set ends up in the same state as it started. Subsequent builds will be considered out of date due to:
> The set of project items was changed more recently (XXX) than the last successful build start time (YYY), not up-to-date.
We could improve our item set tracking, perhaps reusing our hash calculation.
---
We would need to be considerate of the scenario:
1. Build
1. Delete a source file
1. Build again
1. Undelete file
1. Build again
The undelete restores the file with its original timestamp, which is before the last build. In this case though I think the set-of-files check should be fine.
Contributor guide
Assessment
This issue has not been assessed yet.