{"action":"created","comment":{"url":"https://api.github.com/repos/docker/distribution/pulls/comments/42661647","id":42661647,"diff_hunk":"@@ -0,0 +1,66 @@\n+package distribution\n+\n+import (\n+\t\"github.com/docker/distribution/context\"\n+\t\"github.com/docker/distribution/digest\"\n+\t\"github.com/docker/distribution/reference\"\n+)\n+\n+// Manifest represents a registry object specifying a target and a set of constituents\n+type Manifest interface {\n+\t// Target returns a descriptor for the configuration of this manifest.  This\n+\t// may return a nil descriptor if none exists for this manifest.\n+\tTarget() Descriptor\n+\n+\t// Constituents returns a list of objects which make up this manifest.\n+\t// The dependencies are strictly ordered from base to head. A constituent\n+\t// is anything which can be represented by a distribution.Descriptor\n+\tConstituents() []Descriptor","path":"manifests.go","position":18,"original_position":18,"commit_id":"5f897ab9b48544acb293dad139666d072186fa81","original_commit_id":"5f897ab9b48544acb293dad139666d072186fa81","user":{"login":"RichardScothern","id":922018,"avatar_url":"https://avatars.githubusercontent.com/u/922018?v=3","gravatar_id":"","url":"https://api.github.com/users/RichardScothern","html_url":"https://github.com/RichardScothern","followers_url":"https://api.github.com/users/RichardScothern/followers","following_url":"https://api.github.com/users/RichardScothern/following{/other_user}","gists_url":"https://api.github.com/users/RichardScothern/gists{/gist_id}","starred_url":"https://api.github.com/users/RichardScothern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RichardScothern/subscriptions","organizations_url":"https://api.github.com/users/RichardScothern/orgs","repos_url":"https://api.github.com/users/RichardScothern/repos","events_url":"https://api.github.com/users/RichardScothern/events{/privacy}","received_events_url":"https://api.github.com/users/RichardScothern/received_events","type":"User","site_admin":false},"body":"I wasn't sure `Dependencies` really captured the right meaning as it implied to me something external to this object.  Constituents is more accurate, but I'm not thrilled with the word (I also considered `objects` and `references`).  I was hoping for a minor bikeshed over this one: @dmcgowan @aaronlehmann ","created_at":"2015-10-21T18:18:34Z","updated_at":"2015-10-21T18:18:34Z","html_url":"https://github.com/docker/distribution/pull/1105#discussion_r42661647","pull_request_url":"https://api.github.com/repos/docker/distribution/pulls/1105","_links":{"self":{"href":"https://api.github.com/repos/docker/distribution/pulls/comments/42661647"},"html":{"href":"https://github.com/docker/distribution/pull/1105#discussion_r42661647"},"pull_request":{"href":"https://api.github.com/repos/docker/distribution/pulls/1105"}}},"pull_request":{"url":"https://api.github.com/repos/docker/distribution/pulls/1105","id":47975758,"html_url":"https://github.com/docker/distribution/pull/1105","diff_url":"https://github.com/docker/distribution/pull/1105.diff","patch_url":"https://github.com/docker/distribution/pull/1105.patch","issue_url":"https://api.github.com/repos/docker/distribution/issues/1105","number":1105,"state":"open","locked":false,"title":"Manifest interface refactor","user":{"login":"RichardScothern","id":922018,"avatar_url":"https://avatars.githubusercontent.com/u/922018?v=3","gravatar_id":"","url":"https://api.github.com/users/RichardScothern","html_url":"https://github.com/RichardScothern","followers_url":"https://api.github.com/users/RichardScothern/followers","following_url":"https://api.github.com/users/RichardScothern/following{/other_user}","gists_url":"https://api.github.com/users/RichardScothern/gists{/gist_id}","starred_url":"https://api.github.com/users/RichardScothern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RichardScothern/subscriptions","organizations_url":"https://api.github.com/users/RichardScothern/orgs","repos_url":"https://api.github.com/users/RichardScothern/repos","events_url":"https://api.github.com/users/RichardScothern/events{/privacy}","received_events_url":"https://api.github.com/users/RichardScothern/received_events","type":"User","site_admin":false},"body":"Carry @stevvooe's branch to refactor Manifest interfaces within the registry.\r\n\r\nAdd a generic Manifest interface to represent manifests in the registry.\r\n\r\nAdd a ManifestBuilder to construct Manifest objects.  Concrete manifest builders\r\nwill exist for each manifest type and implementations will contain manifest\r\nspecific data used to build a manifest.\r\n\r\nMove tag functionality to a seperate TagService and update ManifestService\r\nto use the new interfaces.\r\n\r\nSignature functionality will be retained for backwards compatibility, but isn't\r\nrepresented in this change.  All signature related code for Schema1 V2 manifest\r\nwill exists in a specific SignedManifestStore implementation (not shown).\r\n\r\nSigned-off-by: Richard Scothern <richard.scothern@gmail.com>","created_at":"2015-10-17T01:16:15Z","updated_at":"2015-10-21T18:18:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3b397746c1f9e309eb582d4161cbf6fbff66d393","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/docker/distribution/pulls/1105/commits","review_comments_url":"https://api.github.com/repos/docker/distribution/pulls/1105/comments","review_comment_url":"https://api.github.com/repos/docker/distribution/pulls/comments{/number}","comments_url":"https://api.github.com/repos/docker/distribution/issues/1105/comments","statuses_url":"https://api.github.com/repos/docker/distribution/statuses/5f897ab9b48544acb293dad139666d072186fa81","head":{"label":"RichardScothern:manifest-refactor","ref":"manifest-refactor","sha":"5f897ab9b48544acb293dad139666d072186fa81","user":{"login":"RichardScothern","id":922018,"avatar_url":"https://avatars.githubusercontent.com/u/922018?v=3","gravatar_id":"","url":"https://api.github.com/users/RichardScothern","html_url":"https://github.com/RichardScothern","followers_url":"https://api.github.com/users/RichardScothern/followers","following_url":"https://api.github.com/users/RichardScothern/following{/other_user}","gists_url":"https://api.github.com/users/RichardScothern/gists{/gist_id}","starred_url":"https://api.github.com/users/RichardScothern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RichardScothern/subscriptions","organizations_url":"https://api.github.com/users/RichardScothern/orgs","repos_url":"https://api.github.com/users/RichardScothern/repos","events_url":"https://api.github.com/users/RichardScothern/events{/privacy}","received_events_url":"https://api.github.com/users/RichardScothern/received_events","type":"User","site_admin":false},"repo":{"id":32835922,"name":"distribution","full_name":"RichardScothern/distribution","owner":{"login":"RichardScothern","id":922018,"avatar_url":"https://avatars.githubusercontent.com/u/922018?v=3","gravatar_id":"","url":"https://api.github.com/users/RichardScothern","html_url":"https://github.com/RichardScothern","followers_url":"https://api.github.com/users/RichardScothern/followers","following_url":"https://api.github.com/users/RichardScothern/following{/other_user}","gists_url":"https://api.github.com/users/RichardScothern/gists{/gist_id}","starred_url":"https://api.github.com/users/RichardScothern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RichardScothern/subscriptions","organizations_url":"https://api.github.com/users/RichardScothern/orgs","repos_url":"https://api.github.com/users/RichardScothern/repos","events_url":"https://api.github.com/users/RichardScothern/events{/privacy}","received_events_url":"https://api.github.com/users/RichardScothern/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/RichardScothern/distribution","description":"The Docker toolset to pack, ship, store, and deliver content","fork":true,"url":"https://api.github.com/repos/RichardScothern/distribution","forks_url":"https://api.github.com/repos/RichardScothern/distribution/forks","keys_url":"https://api.github.com/repos/RichardScothern/distribution/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RichardScothern/distribution/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RichardScothern/distribution/teams","hooks_url":"https://api.github.com/repos/RichardScothern/distribution/hooks","issue_events_url":"https://api.github.com/repos/RichardScothern/distribution/issues/events{/number}","events_url":"https://api.github.com/repos/RichardScothern/distribution/events","assignees_url":"https://api.github.com/repos/RichardScothern/distribution/assignees{/user}","branches_url":"https://api.github.com/repos/RichardScothern/distribution/branches{/branch}","tags_url":"https://api.github.com/repos/RichardScothern/distribution/tags","blobs_url":"https://api.github.com/repos/RichardScothern/distribution/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RichardScothern/distribution/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RichardScothern/distribution/git/refs{/sha}","trees_url":"https://api.github.com/repos/RichardScothern/distribution/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RichardScothern/distribution/statuses/{sha}","languages_url":"https://api.github.com/repos/RichardScothern/distribution/languages","stargazers_url":"https://api.github.com/repos/RichardScothern/distribution/stargazers","contributors_url":"https://api.github.com/repos/RichardScothern/distribution/contributors","subscribers_url":"https://api.github.com/repos/RichardScothern/distribution/subscribers","subscription_url":"https://api.github.com/repos/RichardScothern/distribution/subscription","commits_url":"https://api.github.com/repos/RichardScothern/distribution/commits{/sha}","git_commits_url":"https://api.github.com/repos/RichardScothern/distribution/git/commits{/sha}","comments_url":"https://api.github.com/repos/RichardScothern/distribution/comments{/number}","issue_comment_url":"https://api.github.com/repos/RichardScothern/distribution/issues/comments{/number}","contents_url":"https://api.github.com/repos/RichardScothern/distribution/contents/{+path}","compare_url":"https://api.github.com/repos/RichardScothern/distribution/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RichardScothern/distribution/merges","archive_url":"https://api.github.com/repos/RichardScothern/distribution/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RichardScothern/distribution/downloads","issues_url":"https://api.github.com/repos/RichardScothern/distribution/issues{/number}","pulls_url":"https://api.github.com/repos/RichardScothern/distribution/pulls{/number}","milestones_url":"https://api.github.com/repos/RichardScothern/distribution/milestones{/number}","notifications_url":"https://api.github.com/repos/RichardScothern/distribution/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RichardScothern/distribution/labels{/name}","releases_url":"https://api.github.com/repos/RichardScothern/distribution/releases{/id}","created_at":"2015-03-25T01:41:58Z","updated_at":"2015-05-08T16:24:12Z","pushed_at":"2015-10-21T18:04:07Z","git_url":"git://github.com/RichardScothern/distribution.git","ssh_url":"git@github.com:RichardScothern/distribution.git","clone_url":"https://github.com/RichardScothern/distribution.git","svn_url":"https://github.com/RichardScothern/distribution","homepage":null,"size":4349,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"docker:master","ref":"master","sha":"d4910831a339fa96a21a4e473312c2155e2570d9","user":{"login":"docker","id":5429470,"avatar_url":"https://avatars.githubusercontent.com/u/5429470?v=3","gravatar_id":"","url":"https://api.github.com/users/docker","html_url":"https://github.com/docker","followers_url":"https://api.github.com/users/docker/followers","following_url":"https://api.github.com/users/docker/following{/other_user}","gists_url":"https://api.github.com/users/docker/gists{/gist_id}","starred_url":"https://api.github.com/users/docker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker/subscriptions","organizations_url":"https://api.github.com/users/docker/orgs","repos_url":"https://api.github.com/users/docker/repos","events_url":"https://api.github.com/users/docker/events{/privacy}","received_events_url":"https://api.github.com/users/docker/received_events","type":"Organization","site_admin":false},"repo":{"id":28366058,"name":"distribution","full_name":"docker/distribution","owner":{"login":"docker","id":5429470,"avatar_url":"https://avatars.githubusercontent.com/u/5429470?v=3","gravatar_id":"","url":"https://api.github.com/users/docker","html_url":"https://github.com/docker","followers_url":"https://api.github.com/users/docker/followers","following_url":"https://api.github.com/users/docker/following{/other_user}","gists_url":"https://api.github.com/users/docker/gists{/gist_id}","starred_url":"https://api.github.com/users/docker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker/subscriptions","organizations_url":"https://api.github.com/users/docker/orgs","repos_url":"https://api.github.com/users/docker/repos","events_url":"https://api.github.com/users/docker/events{/privacy}","received_events_url":"https://api.github.com/users/docker/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/docker/distribution","description":"The Docker toolset to pack, ship, store, and deliver content","fork":false,"url":"https://api.github.com/repos/docker/distribution","forks_url":"https://api.github.com/repos/docker/distribution/forks","keys_url":"https://api.github.com/repos/docker/distribution/keys{/key_id}","collaborators_url":"https://api.github.com/repos/docker/distribution/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/docker/distribution/teams","hooks_url":"https://api.github.com/repos/docker/distribution/hooks","issue_events_url":"https://api.github.com/repos/docker/distribution/issues/events{/number}","events_url":"https://api.github.com/repos/docker/distribution/events","assignees_url":"https://api.github.com/repos/docker/distribution/assignees{/user}","branches_url":"https://api.github.com/repos/docker/distribution/branches{/branch}","tags_url":"https://api.github.com/repos/docker/distribution/tags","blobs_url":"https://api.github.com/repos/docker/distribution/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/docker/distribution/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/docker/distribution/git/refs{/sha}","trees_url":"https://api.github.com/repos/docker/distribution/git/trees{/sha}","statuses_url":"https://api.github.com/repos/docker/distribution/statuses/{sha}","languages_url":"https://api.github.com/repos/docker/distribution/languages","stargazers_url":"https://api.github.com/repos/docker/distribution/stargazers","contributors_url":"https://api.github.com/repos/docker/distribution/contributors","subscribers_url":"https://api.github.com/repos/docker/distribution/subscribers","subscription_url":"https://api.github.com/repos/docker/distribution/subscription","commits_url":"https://api.github.com/repos/docker/distribution/commits{/sha}","git_commits_url":"https://api.github.com/repos/docker/distribution/git/commits{/sha}","comments_url":"https://api.github.com/repos/docker/distribution/comments{/number}","issue_comment_url":"https://api.github.com/repos/docker/distribution/issues/comments{/number}","contents_url":"https://api.github.com/repos/docker/distribution/contents/{+path}","compare_url":"https://api.github.com/repos/docker/distribution/compare/{base}...{head}","merges_url":"https://api.github.com/repos/docker/distribution/merges","archive_url":"https://api.github.com/repos/docker/distribution/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/docker/distribution/downloads","issues_url":"https://api.github.com/repos/docker/distribution/issues{/number}","pulls_url":"https://api.github.com/repos/docker/distribution/pulls{/number}","milestones_url":"https://api.github.com/repos/docker/distribution/milestones{/number}","notifications_url":"https://api.github.com/repos/docker/distribution/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/docker/distribution/labels{/name}","releases_url":"https://api.github.com/repos/docker/distribution/releases{/id}","created_at":"2014-12-22T23:49:26Z","updated_at":"2015-10-21T08:29:22Z","pushed_at":"2015-10-21T17:58:18Z","git_url":"git://github.com/docker/distribution.git","ssh_url":"git@github.com:docker/distribution.git","clone_url":"https://github.com/docker/distribution.git","svn_url":"https://github.com/docker/distribution","homepage":null,"size":15594,"stargazers_count":1189,"watchers_count":1189,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":447,"mirror_url":null,"open_issues_count":153,"forks":447,"open_issues":153,"watchers":1189,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/docker/distribution/pulls/1105"},"html":{"href":"https://github.com/docker/distribution/pull/1105"},"issue":{"href":"https://api.github.com/repos/docker/distribution/issues/1105"},"comments":{"href":"https://api.github.com/repos/docker/distribution/issues/1105/comments"},"review_comments":{"href":"https://api.github.com/repos/docker/distribution/pulls/1105/comments"},"review_comment":{"href":"https://api.github.com/repos/docker/distribution/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/docker/distribution/pulls/1105/commits"},"statuses":{"href":"https://api.github.com/repos/docker/distribution/statuses/5f897ab9b48544acb293dad139666d072186fa81"}}}}