1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/graph
Aaron Lehmann 810d3b2642 Avoid redundant HEAD requests for identical layers on push
pushV2Tag already deduplicates layers, but the scope of this
deduplication is only for a particular tag. If we are pushing all tags
in a repository, we may check layers several times. Fix this by moving
the layersSeen map from the pushV2Tag function to the v2Pusher struct.

In addition to avoiding some useless round-trips, this makes the "docker
push" output less confusing. It formerly could contain many repeated
lines like:

    124e2127157f: Image already exists
    124e2127157f: Image already exists
    ...

Add test coverage based on the "docker push" output: a hash should not
appear multiple times when pushing multiple tags.

Fixes #14873

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-22 17:54:20 -07:00
..
tags Check if a tag name to load is a valid digest. 2015-07-16 10:53:56 -07:00
export.go Windows: graph\export.go filepath fixes 2015-05-04 14:56:23 -07:00
graph.go graph: isolate the (dis)assembly logic 2015-07-22 11:36:15 -04:00
graph_test.go Fixing Image struct to no longer use Graph. 2015-07-20 13:59:53 -07:00
graph_unix.go graph: isolate the (dis)assembly logic 2015-07-22 11:36:15 -04:00
graph_windows.go graph: isolate the (dis)assembly logic 2015-07-22 11:36:15 -04:00
history.go Fixing Image struct to no longer use Graph. 2015-07-20 13:59:53 -07:00
import.go Refactor pkg/stremformatter with custom constructors instead of passing a boolean 2015-05-13 00:09:41 +02:00
list.go Fixing Image struct to no longer use Graph. 2015-07-20 13:59:53 -07:00
load.go Fixing Image struct to no longer use Graph. 2015-07-20 13:59:53 -07:00
load_unsupported.go Windows: Build load.go 2015-05-12 14:26:57 -07:00
mutex.go Attempt to protect on disk image store with mutex 2015-06-25 20:16:37 -07:00
pools_test.go don't call reexec.Init from chrootarchive 2014-11-25 01:03:40 +02:00
pull.go Update graph to use vendored distribution client for the v2 codepath 2015-07-16 13:13:47 -04:00
pull_v1.go Fixing Image struct to no longer use Graph. 2015-07-20 13:59:53 -07:00
pull_v2.go Fixing Image struct to no longer use Graph. 2015-07-20 13:59:53 -07:00
push.go Avoid redundant HEAD requests for identical layers on push 2015-07-22 17:54:20 -07:00
push_v1.go Update graph to use vendored distribution client for the v2 codepath 2015-07-16 13:13:47 -04:00
push_v2.go Avoid redundant HEAD requests for identical layers on push 2015-07-22 17:54:20 -07:00
registry.go Update graph to use vendored distribution client for the v2 codepath 2015-07-16 13:13:47 -04:00
service.go Windows: Graph driver implementation 2015-07-10 14:33:11 -07:00
tags.go Fixing Image struct to no longer use Graph. 2015-07-20 13:59:53 -07:00
tags_unit_test.go Fixing Image struct to no longer use Graph. 2015-07-20 13:59:53 -07:00