{"action":"closed","number":9,"pull_request":{"url":"https://api.github.com/repos/Microsoft/git/pulls/9","id":204438833,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA0NDM4ODMz","html_url":"https://github.com/Microsoft/git/pull/9","diff_url":"https://github.com/Microsoft/git/pull/9.diff","patch_url":"https://github.com/Microsoft/git/pull/9.patch","issue_url":"https://api.github.com/repos/Microsoft/git/issues/9","number":9,"state":"closed","locked":false,"title":"json_writer: new routines to create JSON data","user":{"login":"jeffhostetler","id":7493832,"node_id":"MDQ6VXNlcjc0OTM4MzI=","avatar_url":"https://avatars3.githubusercontent.com/u/7493832?v=4","gravatar_id":"","url":"https://api.github.com/users/jeffhostetler","html_url":"https://github.com/jeffhostetler","followers_url":"https://api.github.com/users/jeffhostetler/followers","following_url":"https://api.github.com/users/jeffhostetler/following{/other_user}","gists_url":"https://api.github.com/users/jeffhostetler/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffhostetler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffhostetler/subscriptions","organizations_url":"https://api.github.com/users/jeffhostetler/orgs","repos_url":"https://api.github.com/users/jeffhostetler/repos","events_url":"https://api.github.com/users/jeffhostetler/events{/privacy}","received_events_url":"https://api.github.com/users/jeffhostetler/received_events","type":"User","site_admin":false},"body":"Add \"struct json_writer\" and a series of jw_ routines to compose JSON\r\ndata into a string buffer.  The resulting string may then be printed by\r\ncommands wanting to support a JSON-like output format.\r\n\r\nThe json_writer is limited to correctly formatting structured data for\r\noutput.  It does not attempt to build an object model of the JSON data.\r\n\r\nWe say \"JSON-like\" because we do not enforce the Unicode (usually UTF-8)\r\nrequirement on string fields.  Internally, Git does not necessarily have\r\nUnicode/UTF-8 data for most fields, so it is currently unclear the best\r\nway to enforce that requirement.  For example, on Linux pathnames can\r\ncontain arbitrary 8-bit character data, so a command like \"status\" would\r\nnot know how to encode the reported pathnames.  We may want to revisit\r\nthis (or double encode such strings) in the future.\r\n\r\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\r\nHelped-by: René Scharfe <l.s.r@web.de>\r\nHelped-by: Wink Saville <wink@saville.com>\r\nHelped-by: Ramsay Jones <ramsay@ramsayjones.plus.com>\r\nSigned-off-by: Jeff Hostetler <jeffhost@microsoft.com>\r\n","created_at":"2018-07-27T13:54:33Z","updated_at":"2018-09-06T14:42:04Z","closed_at":"2018-09-06T14:42:03Z","merged_at":null,"merge_commit_sha":"01d916b1638a0756a1706cdac7fd4a512d95ff64","assignee":null,"assignees":[],"requested_reviewers":[{"login":"jamill","id":2045976,"node_id":"MDQ6VXNlcjIwNDU5NzY=","avatar_url":"https://avatars1.githubusercontent.com/u/2045976?v=4","gravatar_id":"","url":"https://api.github.com/users/jamill","html_url":"https://github.com/jamill","followers_url":"https://api.github.com/users/jamill/followers","following_url":"https://api.github.com/users/jamill/following{/other_user}","gists_url":"https://api.github.com/users/jamill/gists{/gist_id}","starred_url":"https://api.github.com/users/jamill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamill/subscriptions","organizations_url":"https://api.github.com/users/jamill/orgs","repos_url":"https://api.github.com/users/jamill/repos","events_url":"https://api.github.com/users/jamill/events{/privacy}","received_events_url":"https://api.github.com/users/jamill/received_events","type":"User","site_admin":false},{"login":"benpeart","id":15252029,"node_id":"MDQ6VXNlcjE1MjUyMDI5","avatar_url":"https://avatars0.githubusercontent.com/u/15252029?v=4","gravatar_id":"","url":"https://api.github.com/users/benpeart","html_url":"https://github.com/benpeart","followers_url":"https://api.github.com/users/benpeart/followers","following_url":"https://api.github.com/users/benpeart/following{/other_user}","gists_url":"https://api.github.com/users/benpeart/gists{/gist_id}","starred_url":"https://api.github.com/users/benpeart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benpeart/subscriptions","organizations_url":"https://api.github.com/users/benpeart/orgs","repos_url":"https://api.github.com/users/benpeart/repos","events_url":"https://api.github.com/users/benpeart/events{/privacy}","received_events_url":"https://api.github.com/users/benpeart/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/git/pulls/9/commits","review_comments_url":"https://api.github.com/repos/Microsoft/git/pulls/9/comments","review_comment_url":"https://api.github.com/repos/Microsoft/git/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/git/issues/9/comments","statuses_url":"https://api.github.com/repos/Microsoft/git/statuses/28b5a12cc18e0e4f900a680f3bc6751b02b807e0","head":{"label":"jeffhostetler:gvfs-json-writer-v11","ref":"gvfs-json-writer-v11","sha":"28b5a12cc18e0e4f900a680f3bc6751b02b807e0","user":{"login":"jeffhostetler","id":7493832,"node_id":"MDQ6VXNlcjc0OTM4MzI=","avatar_url":"https://avatars3.githubusercontent.com/u/7493832?v=4","gravatar_id":"","url":"https://api.github.com/users/jeffhostetler","html_url":"https://github.com/jeffhostetler","followers_url":"https://api.github.com/users/jeffhostetler/followers","following_url":"https://api.github.com/users/jeffhostetler/following{/other_user}","gists_url":"https://api.github.com/users/jeffhostetler/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffhostetler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffhostetler/subscriptions","organizations_url":"https://api.github.com/users/jeffhostetler/orgs","repos_url":"https://api.github.com/users/jeffhostetler/repos","events_url":"https://api.github.com/users/jeffhostetler/events{/privacy}","received_events_url":"https://api.github.com/users/jeffhostetler/received_events","type":"User","site_admin":false},"repo":{"id":56794962,"node_id":"MDEwOlJlcG9zaXRvcnk1Njc5NDk2Mg==","name":"git","full_name":"jeffhostetler/git","owner":{"login":"jeffhostetler","id":7493832,"node_id":"MDQ6VXNlcjc0OTM4MzI=","avatar_url":"https://avatars3.githubusercontent.com/u/7493832?v=4","gravatar_id":"","url":"https://api.github.com/users/jeffhostetler","html_url":"https://github.com/jeffhostetler","followers_url":"https://api.github.com/users/jeffhostetler/followers","following_url":"https://api.github.com/users/jeffhostetler/following{/other_user}","gists_url":"https://api.github.com/users/jeffhostetler/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffhostetler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffhostetler/subscriptions","organizations_url":"https://api.github.com/users/jeffhostetler/orgs","repos_url":"https://api.github.com/users/jeffhostetler/repos","events_url":"https://api.github.com/users/jeffhostetler/events{/privacy}","received_events_url":"https://api.github.com/users/jeffhostetler/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jeffhostetler/git","description":"A fork of Git containing Windows-specific patches.","fork":true,"url":"https://api.github.com/repos/jeffhostetler/git","forks_url":"https://api.github.com/repos/jeffhostetler/git/forks","keys_url":"https://api.github.com/repos/jeffhostetler/git/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jeffhostetler/git/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jeffhostetler/git/teams","hooks_url":"https://api.github.com/repos/jeffhostetler/git/hooks","issue_events_url":"https://api.github.com/repos/jeffhostetler/git/issues/events{/number}","events_url":"https://api.github.com/repos/jeffhostetler/git/events","assignees_url":"https://api.github.com/repos/jeffhostetler/git/assignees{/user}","branches_url":"https://api.github.com/repos/jeffhostetler/git/branches{/branch}","tags_url":"https://api.github.com/repos/jeffhostetler/git/tags","blobs_url":"https://api.github.com/repos/jeffhostetler/git/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jeffhostetler/git/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jeffhostetler/git/git/refs{/sha}","trees_url":"https://api.github.com/repos/jeffhostetler/git/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jeffhostetler/git/statuses/{sha}","languages_url":"https://api.github.com/repos/jeffhostetler/git/languages","stargazers_url":"https://api.github.com/repos/jeffhostetler/git/stargazers","contributors_url":"https://api.github.com/repos/jeffhostetler/git/contributors","subscribers_url":"https://api.github.com/repos/jeffhostetler/git/subscribers","subscription_url":"https://api.github.com/repos/jeffhostetler/git/subscription","commits_url":"https://api.github.com/repos/jeffhostetler/git/commits{/sha}","git_commits_url":"https://api.github.com/repos/jeffhostetler/git/git/commits{/sha}","comments_url":"https://api.github.com/repos/jeffhostetler/git/comments{/number}","issue_comment_url":"https://api.github.com/repos/jeffhostetler/git/issues/comments{/number}","contents_url":"https://api.github.com/repos/jeffhostetler/git/contents/{+path}","compare_url":"https://api.github.com/repos/jeffhostetler/git/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jeffhostetler/git/merges","archive_url":"https://api.github.com/repos/jeffhostetler/git/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jeffhostetler/git/downloads","issues_url":"https://api.github.com/repos/jeffhostetler/git/issues{/number}","pulls_url":"https://api.github.com/repos/jeffhostetler/git/pulls{/number}","milestones_url":"https://api.github.com/repos/jeffhostetler/git/milestones{/number}","notifications_url":"https://api.github.com/repos/jeffhostetler/git/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jeffhostetler/git/labels{/name}","releases_url":"https://api.github.com/repos/jeffhostetler/git/releases{/id}","deployments_url":"https://api.github.com/repos/jeffhostetler/git/deployments","created_at":"2016-04-21T17:59:27Z","updated_at":"2018-07-25T13:03:05Z","pushed_at":"2018-09-06T14:34:34Z","git_url":"git://github.com/jeffhostetler/git.git","ssh_url":"git@github.com:jeffhostetler/git.git","clone_url":"https://github.com/jeffhostetler/git.git","svn_url":"https://github.com/jeffhostetler/git","homepage":"http://git-scm.com/","size":119485,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Microsoft:gvfs-2.18.0","ref":"gvfs-2.18.0","sha":"ab825084eb02d14b50d1ee43cceaaa36d5877fdd","user":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":79856983,"node_id":"MDEwOlJlcG9zaXRvcnk3OTg1Njk4Mw==","name":"git","full_name":"Microsoft/git","owner":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/git","description":"A fork of Git containing Microsoft-specific patches.","fork":true,"url":"https://api.github.com/repos/Microsoft/git","forks_url":"https://api.github.com/repos/Microsoft/git/forks","keys_url":"https://api.github.com/repos/Microsoft/git/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/git/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/git/teams","hooks_url":"https://api.github.com/repos/Microsoft/git/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/git/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/git/events","assignees_url":"https://api.github.com/repos/Microsoft/git/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/git/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/git/tags","blobs_url":"https://api.github.com/repos/Microsoft/git/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/git/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/git/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/git/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/git/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/git/languages","stargazers_url":"https://api.github.com/repos/Microsoft/git/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/git/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/git/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/git/subscription","commits_url":"https://api.github.com/repos/Microsoft/git/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/git/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/git/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/git/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/git/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/git/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/git/merges","archive_url":"https://api.github.com/repos/Microsoft/git/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/git/downloads","issues_url":"https://api.github.com/repos/Microsoft/git/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/git/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/git/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/git/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/git/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/git/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/git/deployments","created_at":"2017-01-23T22:54:33Z","updated_at":"2018-08-27T18:17:28Z","pushed_at":"2018-08-30T15:22:27Z","git_url":"git://github.com/Microsoft/git.git","ssh_url":"git@github.com:Microsoft/git.git","clone_url":"https://github.com/Microsoft/git.git","svn_url":"https://github.com/Microsoft/git","homepage":"http://git-scm.com/","size":118105,"stargazers_count":235,"watchers_count":235,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":26,"mirror_url":null,"archived":false,"open_issues_count":3,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":26,"open_issues":3,"watchers":235,"default_branch":"gvfs-2.18.0"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/git/pulls/9"},"html":{"href":"https://github.com/Microsoft/git/pull/9"},"issue":{"href":"https://api.github.com/repos/Microsoft/git/issues/9"},"comments":{"href":"https://api.github.com/repos/Microsoft/git/issues/9/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/git/pulls/9/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/git/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/git/pulls/9/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/git/statuses/28b5a12cc18e0e4f900a680f3bc6751b02b807e0"}},"author_association":"COLLABORATOR","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":1,"review_comments":2,"maintainer_can_modify":false,"commits":1,"additions":1471,"deletions":0,"changed_files":8}}
{"actor":{"display_login":"jeffhostetler"}}