-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cache-policy = configuration
is often insufficient and maybe buggy
#4
Comments
|
This line makes me think the hash is only calculated if the file is newer, but not older: |
Ah so it does, that should probably be changed. The modification time is only used as an optimization. |
Opened CACI-International/ergo#6 to change that. Also, I realized this is probably due to |
cache-policy = configuration
is often insufficient and maybe buggy
@pdurbano reports that incremental builds sometimes (often) don't pick up source files changes and produce outdated binaries. Some source files (cpp files, not headers) always pick up changes, while others don't (depending on the module). Using Unless there's extreme overhead (I didn't measure anything substantial), I think the default should be changed to |
The inherent overhead is disk space. There's no policy to remove old versions. Otherwise, |
I have some unit tests for change tracking, I should expand them. |
I originally suspected git was resetting modification times (and
std:fs:track
assumes it monotonically increases), but it looks like git actually always updates the modification time of files it changes when switching branches.Also, considering it's always link errors (e.g. missing symbols) I'm guessing the relationship with source files and object files is somehow broken when switching branches.
The text was updated successfully, but these errors were encountered: