![]() Build cache uses pgk/tarsum to get a digest of content which is ADD'd or COPY'd during a build. The builder has always used v0 of the tarsum algorithm which includes mtimes however since the whole file is hashed anyway, the mtime doesn't really provide any extra information about whether the file has changed and many version control tools like Git strip mtime from files when they are cloned. This patch updates the build subsystem to use v1 of Tarsum which explicitly ignores mtime when calculating a digest. Now ADD and COPY will result in a cache hit if only the mtime and not the file contents have changed. NOTE: Tarsum is NOT a meant to be a cryptographically secure hash function. It is a best-effort approach to determining if two sets of filesystem content are different. Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn) |
||
---|---|---|
.. | ||
command | ||
parser | ||
bflag.go | ||
bflag_test.go | ||
dispatchers.go | ||
evaluator.go | ||
internals.go | ||
internals_linux.go | ||
internals_windows.go | ||
job.go | ||
shell_parser.go | ||
shell_parser_test.go | ||
support.go | ||
words |