Why should I not put the .buildtool cache folder under source control?
3 views (last 30 days)
Show older comments
"Do not put the cache folder under source control. To exclude the cache folder from source control, add its name to your source control ignore list. For example, append the cache folder name to the .gitignore file in the plan root folder."
If I am working on a team or utilizng a CI pipeline to run build tasks there is zero gurrantee that the build will be on the same machine for consecutive builds. My question is why not put it under source control or how else can I achieve incremental builds across different machines?
0 Comments
Answers (1)
Tushar Sharma
on 30 Aug 2024
Hey Strider,
Your logic is quite reasonable—if the cache folder contains information like task traces that enable incremental builds, it makes sense to consider putting it in source control so other machines can leverage it.
However, there are a couple of issues with this approach. The cache keeps track of changes since the last build to avoid rebuilding everything from scratch. This data is specific to the local environment and may not be useful across different environments or users.
Additionally, the primary purpose of the cache is to improve build performance rather than ensure build reproducibility. This suggests that it shouldn't be shared or versioned. Builds should be reproducible from the source files and build scripts alone, without relying on cached data.
I hope this makes sense!
See Also
Categories
Find more on Build Automation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!