moby--moby/integration-cli
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
..
fixtures/https
check_test.go
docker_api_attach_test.go
docker_api_containers_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_api_events_test.go
docker_api_exec_resize_test.go Use dockerCmd when possible (#14603) 2015-07-14 21:52:43 +02:00
docker_api_exec_test.go
docker_api_images_test.go Fix wrong Content-Type returned by /images/search API 2015-07-22 11:07:41 +02:00
docker_api_info_test.go
docker_api_inspect_test.go Expose new mount points structs in inspect. 2015-07-21 15:33:05 -07:00
docker_api_logs_test.go
docker_api_network_test.go
docker_api_resize_test.go
docker_api_service_test.go
docker_api_stats_test.go
docker_api_test.go
docker_api_version_test.go
docker_cli_attach_test.go
docker_cli_attach_unix_test.go
docker_cli_build_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_build_unix_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_by_digest_test.go
docker_cli_commit_test.go
docker_cli_config_test.go
docker_cli_cp_from_container_test.go integration-cli: New `docker cp` integration tests 2015-07-21 15:19:52 -07:00
docker_cli_cp_test.go integration-cli: New `docker cp` integration tests 2015-07-21 15:19:52 -07:00
docker_cli_cp_to_container_test.go integration-cli: New `docker cp` integration tests 2015-07-21 15:19:52 -07:00
docker_cli_cp_utils.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_create_test.go Expose new mount points structs in inspect. 2015-07-21 15:33:05 -07:00
docker_cli_daemon_experimental_test.go
docker_cli_daemon_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_diff_test.go dockerCmd when possible 2015-07-20 14:55:40 +08:00
docker_cli_events_test.go integration-cli: New `docker cp` integration tests 2015-07-21 15:19:52 -07:00
docker_cli_events_unix_test.go
docker_cli_exec_test.go dockerCmd when possible 2015-07-20 14:55:40 +08:00
docker_cli_exec_unix_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_experimental_test.go dockerCmd when possible 2015-07-20 14:55:40 +08:00
docker_cli_export_import_test.go dockerCmd when possible 2015-07-20 14:55:40 +08:00
docker_cli_help_test.go
docker_cli_history_test.go dockerCmd when possible 2015-07-20 14:55:40 +08:00
docker_cli_images_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_import_test.go dockerCmd when possible 2015-07-20 14:55:40 +08:00
docker_cli_info_test.go dockerCmd when possible 2015-07-20 14:55:40 +08:00
docker_cli_inspect_experimental_test.go Expose new mount points structs in inspect. 2015-07-21 15:33:05 -07:00
docker_cli_inspect_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_kill_test.go dockerCmd when possible 2015-07-20 14:55:40 +08:00
docker_cli_links_test.go
docker_cli_links_unix_test.go Add better output for TestLinksEtcHostsContentMatch to help debug #14774 2015-07-20 16:46:51 -07:00
docker_cli_login_test.go
docker_cli_logs_test.go Merge pull request #14442 from cpuguy83/refactor_logdrvier_reader 2015-07-22 11:54:35 -07:00
docker_cli_nat_test.go
docker_cli_network_test.go
docker_cli_pause_test.go
docker_cli_port_test.go
docker_cli_port_unix_test.go
docker_cli_proxy_test.go
docker_cli_ps_test.go ps --format: Add config.js doc, fix gofmt, add integration tests 2015-07-22 12:51:16 -04:00
docker_cli_pull_test.go
docker_cli_push_test.go Avoid redundant HEAD requests for identical layers on push 2015-07-22 17:54:20 -07:00
docker_cli_rename_test.go
docker_cli_restart_test.go Merge pull request #13711 from calavera/version_volumes_inspect 2015-07-22 09:02:00 +02:00
docker_cli_rm_test.go
docker_cli_rmi_test.go
docker_cli_run_test.go Merge pull request #14613 from stefanberger/nohidevols2 2015-07-22 16:24:22 -04:00
docker_cli_run_unix_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_save_load_test.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
docker_cli_save_load_unix_test.go CI: use dockerCmd in integration-cli when possible 2015-07-22 17:55:41 +08:00
docker_cli_search_test.go CI: use dockerCmd in integration-cli when possible 2015-07-22 17:55:41 +08:00
docker_cli_service_test.go CI: use dockerCmd in integration-cli when possible 2015-07-22 17:55:41 +08:00
docker_cli_start_test.go CI: use dockerCmd in integration-cli when possible 2015-07-22 17:55:41 +08:00
docker_cli_start_volume_driver_unix_test.go Promote volume drivers from experimental to master. 2015-07-21 09:32:44 -07:00
docker_cli_stats_test.go
docker_cli_tag_test.go
docker_cli_top_test.go
docker_cli_version_test.go
docker_cli_wait_test.go
docker_test_vars.go
docker_test_vars_cli.go
docker_test_vars_daemon.go
docker_utils.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
registry.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
requirements.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
requirements_unix.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00
test_vars_exec.go
test_vars_noexec.go
test_vars_unix.go
test_vars_windows.go
utils.go Fix golint warnings for integration-cli 2015-07-22 14:03:50 +01:00