{"push_id":1313979091,"size":4,"distinct_size":4,"ref":"refs/heads/prevent-blob-uploads","head":"2d2f6cf258eb90d674c8a41da986ad69193984be","before":"65828633d74dee7a44b155a68944980de7d89bad","commits":[{"sha":"8c6dd4de131e0581b153ed67708e77afae294824","author":{"name":"Michal Minář","email":"eb68e4fc1121cf6b4059aceb6736457905f19a11@redhat.com"},"message":"Compare V2Metadata with associated auth config\n\nto avoid unnecessary blob re-uploads.\n\nCross repository mount from particular repo will most probably fail if\nthe user pushing to the registry is not the same as the one who pulled\nor pushed to the source repo.\n\nThis PR attempts first to cross-repo mount from the source repositories\nassociated with the pusher's auth config. Then it falls back to other\nrepositories sorted from the most similar to the target repo to the\nleast.\n\nIt also prevents metadata deletion in cases where cross-repo mount fails\nand the auth config hashes differ.\n\nSigned-off-by: Michal Minář <miminar@redhat.com>","distinct":true,"url":"https://api.github.com/repos/miminar/docker/commits/8c6dd4de131e0581b153ed67708e77afae294824"},{"sha":"69a7dc50b18ce5aceff5c35b1acf83038d7fd031","author":{"name":"Michal Minář","email":"eb68e4fc1121cf6b4059aceb6736457905f19a11@redhat.com"},"message":"Try to cross-repo mount until success\n\nDon't fallback back immediately to blob upload if the cross-repo mount\nfails and layer upload is initiated by registry.\n\nInstead cancel the upload and re-try cross-repo mount from different\nsource repository before doing full re-upload.\n\nSigned-off-by: Michal Minář <miminar@redhat.com>","distinct":true,"url":"https://api.github.com/repos/miminar/docker/commits/69a7dc50b18ce5aceff5c35b1acf83038d7fd031"},{"sha":"4520136f391cf2dc8442f6b7f0c9dddc5eabbe37","author":{"name":"Michal Minář","email":"eb68e4fc1121cf6b4059aceb6736457905f19a11@redhat.com"},"message":"Allow to mock V2MetadataService in unit tests\n\nSigned-off-by: Michal Minář <miminar@redhat.com>","distinct":true,"url":"https://api.github.com/repos/miminar/docker/commits/4520136f391cf2dc8442f6b7f0c9dddc5eabbe37"},{"sha":"2d2f6cf258eb90d674c8a41da986ad69193984be","author":{"name":"Michal Minář","email":"eb68e4fc1121cf6b4059aceb6736457905f19a11@redhat.com"},"message":"Prevent blob re-uploads\n\nBlob being uploaded may already reside in target repository even though\nit's not recorded in docker's v2metadata store. With current code, the\ncheck for blob's presence in target repository is skipped if there's is\na source repository to mount the blob from. This assumes that the blob\nhasn't been deleted and a current user is authorized to pull from the\nsource repository.\n\nThis patch makes sure to check the target repository always for blob's\npresence before uploading.\n\nSigned-off-by: Michal Minář <miminar@redhat.com>","distinct":true,"url":"https://api.github.com/repos/miminar/docker/commits/2d2f6cf258eb90d674c8a41da986ad69193984be"}]}
{"actor":{"display_login":"miminar"}}