moby--moby/builder
Josh Hawn 0e10507a1c [builder] Make build cache ignore mtime
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)
2015-06-08 13:54:47 -07:00
..
command Remove unused Dockerfile instruction INSERT 2015-05-06 16:26:43 -07:00
parser Remove unused Dockerfile instruction INSERT 2015-05-06 16:26:43 -07:00
bflag.go
bflag_test.go
dispatchers.go Remove PortSpecs from Config 2015-05-29 22:38:09 +02:00
evaluator.go add cpu.cfs_period_us support 2015-05-09 10:02:46 +08:00
internals.go [builder] Make build cache ignore mtime 2015-06-08 13:54:47 -07:00
internals_linux.go Windows: Fixup builder\internals.go 2015-05-20 08:55:13 -07:00
internals_windows.go Windows: Fixup builder\internals.go 2015-05-20 08:55:13 -07:00
job.go Avoid nil pointer dereference while creating a container with an empty Config 2015-06-06 20:07:32 +02:00
shell_parser.go
shell_parser_test.go
support.go
words