{"action":"created","comment":{"url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/comments/244534952","pull_request_review_id":188440078,"id":244534952,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDUzNDk1Mg==","diff_hunk":"@@ -82,57 +82,63 @@ public struct SectionedChangeset {\n \t) {\n \t\tlet metadata = Changeset(previous: previous, current: current, identifier: sectionIdentifier, areEqual: areMetadataEqual)\n \n-\t\tlet moveSourceLookup = Dictionary(uniqueKeysWithValues: metadata.moves.lazy.map { ($0.destination, $0.source) })\n+\t\tlet moveDestinationLookup = Dictionary(uniqueKeysWithValues: metadata.moves.lazy.map { ($0.source, $0.destination) })\n \t\tlet mutatedMoveDests = Set(metadata.moves.lazy.filter { $0.isMutated }.map { $0.destination })\n \n-\t\tlet allInsertions = metadata.inserts.union(IndexSet(moveSourceLookup.keys))\n-\t\tlet allRemovals = metadata.removals.union(IndexSet(moveSourceLookup.values))\n+\t\tlet allInsertions = metadata.inserts.union(IndexSet(moveDestinationLookup.values))\n+\t\tlet allRemovals = metadata.removals.union(IndexSet(moveDestinationLookup.keys))\n \n \t\tmutatedSections = Array()\n \t\tmutatedSections.reserveCapacity(Int(current.count))\n \n \t\tvar moves: [Changeset.Move] = []\n \t\tvar mutations = IndexSet()\n \n-\t\tfor (offset, section) in current.enumerated() where !metadata.inserts.contains(offset) {\n-\t\t\tlet predeletionOffset: Int\n+\t\tfor (sourceOffset, section) in previous.enumerated() where !metadata.removals.contains(sourceOffset) {\n+\t\t\tlet destinationOffset: Int\n \t\t\tlet isMove: Bool\n \n-\t\t\tif let moveSource = moveSourceLookup[offset] {\n-\t\t\t\tpredeletionOffset = moveSource\n+\t\t\tif let moveDestination = moveDestinationLookup[sourceOffset] {\n+\t\t\t\tdestinationOffset = moveDestination\n \t\t\t\tisMove = true\n \t\t\t} else {\n-\t\t\t\tlet preinsertionOffset = offset - allInsertions.count(in: 0 ..< offset)\n-\t\t\t\tpredeletionOffset = preinsertionOffset + allRemovals.count(in: 0 ... preinsertionOffset)\n+\t\t\t\tlet postRemovalOffset = sourceOffset - allRemovals.count(in: 0 ..< sourceOffset)\n+\n+\t\t\t\tvar insertionsBeforeOffset = IndexSet()\n+\t\t\t\tfor insertion in allInsertions where insertion <= postRemovalOffset + insertionsBeforeOffset.count {\n+\t\t\t\t\tinsertionsBeforeOffset.insert(insertion)","path":"FlexibleDiff/SectionedChangeset.swift","position":37,"original_position":37,"commit_id":"4864a79e405c82b5a0004edec40bc48d814ef8a4","original_commit_id":"4864a79e405c82b5a0004edec40bc48d814ef8a4","user":{"login":"andersio","id":11806295,"node_id":"MDQ6VXNlcjExODA2Mjk1","avatar_url":"https://avatars1.githubusercontent.com/u/11806295?v=4","gravatar_id":"","url":"https://api.github.com/users/andersio","html_url":"https://github.com/andersio","followers_url":"https://api.github.com/users/andersio/followers","following_url":"https://api.github.com/users/andersio/following{/other_user}","gists_url":"https://api.github.com/users/andersio/gists{/gist_id}","starred_url":"https://api.github.com/users/andersio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andersio/subscriptions","organizations_url":"https://api.github.com/users/andersio/orgs","repos_url":"https://api.github.com/users/andersio/repos","events_url":"https://api.github.com/users/andersio/events{/privacy}","received_events_url":"https://api.github.com/users/andersio/received_events","type":"User","site_admin":false},"body":"Could you break the loop when the predicate is not satisfied? There is little value to continue iterating afterwards.","created_at":"2018-12-30T13:48:14Z","updated_at":"2018-12-30T13:48:14Z","html_url":"https://github.com/RACCommunity/FlexibleDiff/pull/10#discussion_r244534952","pull_request_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/10","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/comments/244534952"},"html":{"href":"https://github.com/RACCommunity/FlexibleDiff/pull/10#discussion_r244534952"},"pull_request":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/10"}}},"pull_request":{"url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/10","id":241421856,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxNDIxODU2","html_url":"https://github.com/RACCommunity/FlexibleDiff/pull/10","diff_url":"https://github.com/RACCommunity/FlexibleDiff/pull/10.diff","patch_url":"https://github.com/RACCommunity/FlexibleDiff/pull/10.patch","issue_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/issues/10","number":10,"state":"open","locked":false,"title":"Calculating destination offset from source offset","user":{"login":"IvoPintodaSilva","id":4477378,"node_id":"MDQ6VXNlcjQ0NzczNzg=","avatar_url":"https://avatars3.githubusercontent.com/u/4477378?v=4","gravatar_id":"","url":"https://api.github.com/users/IvoPintodaSilva","html_url":"https://github.com/IvoPintodaSilva","followers_url":"https://api.github.com/users/IvoPintodaSilva/followers","following_url":"https://api.github.com/users/IvoPintodaSilva/following{/other_user}","gists_url":"https://api.github.com/users/IvoPintodaSilva/gists{/gist_id}","starred_url":"https://api.github.com/users/IvoPintodaSilva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IvoPintodaSilva/subscriptions","organizations_url":"https://api.github.com/users/IvoPintodaSilva/orgs","repos_url":"https://api.github.com/users/IvoPintodaSilva/repos","events_url":"https://api.github.com/users/IvoPintodaSilva/events{/privacy}","received_events_url":"https://api.github.com/users/IvoPintodaSilva/received_events","type":"User","site_admin":false},"body":"Hello 👋\r\n\r\nWhile using FlexibleDiff I ran into a situation where the generated `SectionedChangeset` seems to not be correct.\r\n\r\nI've added the following test which is failing:\r\n\r\n```\r\nit(\"should reflect three removed sections\") {\r\n    diffTest(\r\n        previous: [\r\n            Section(identifier: \"A\", items: [Section.Item(identifier: \"A0\", value: .max)]),\r\n            Section(identifier: \"B\", items: [Section.Item(identifier: \"B0\", value: .max)]),\r\n            Section(identifier: \"C\", items: [Section.Item(identifier: \"C0\", value: .max)]),\r\n            Section(identifier: \"D\", items: [Section.Item(identifier: \"D0\", value: .max)])\r\n        ],\r\n        current: [\r\n            Section(identifier: \"C\", items: [Section.Item(identifier: \"C0\", value: .max)])\r\n        ],\r\n        expected: SectionedChangeset(\r\n            sections: Changeset(removals: [0, 1, 3]),\r\n            mutatedSections: []\r\n        )\r\n    )\r\n}\r\n```\r\n\r\nThe previous test fails with the following error:\r\n\r\n```\r\nexpected to equal <- inserted 0 item(s) at []- deleted 3 item(s) at [0, 1, 3]- mutated 0 item(s) at []- moved 0 item(s) at []- changesets of mutated sections: <<<>>>>, got <- inserted 0 item(s) at []- deleted 3 item(s) at [0, 1, 3]- mutated 1 item(s) at [1]- moved 0 item(s) at []- changesets of mutated sections: <<<section 1 -> 0- inserted 1 item(s) at [0]- deleted 1 item(s) at [0]- mutated 0 item(s) at []- moved 0 item(s) at []>>>>\r\n```\r\n\r\nWhich means that the generated `SectionedChangeset` is something like\r\n\r\n```\r\nSectionedChangeset(\r\n    sections: Changeset(removals: [0, 1, 3], mutations: [1]),\r\n    mutatedSections: [\r\n        SectionedChangeset.MutatedSection(\r\n            source: 1,\r\n            destination: 0,\r\n            changeset: Changeset(inserts: [0], removals: [0])\r\n        )\r\n    ])\r\n```\r\n\r\nThis tells us that:\r\n1. Section 1 is being both deleted and mutated at the same time;\r\n2. There are insertions and removals of items when no insertion/removal is performed.\r\n\r\nThe problem seems to be that the `predeletionOffset` on the `SectionedChangeset`'s `init` method is not being calculated correctly for this specific case.\r\n\r\nMy suggestion in this PR is to start traversing the `previous` collection of sections and calculate a `destinationOffset` for that section.\r\nBy doing this we are able to know how many deletions and insertions will be performed up until the source index and we can calculate correctly what will be the section's index on the current collection.\r\n\r\nGreat library 👏 Keep up the good work 😃","created_at":"2018-12-29T03:37:35Z","updated_at":"2018-12-30T13:48:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c40d770c069302134f08ba0370b81ae93b1e61eb","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/10/commits","review_comments_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/10/comments","review_comment_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/issues/10/comments","statuses_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/statuses/4864a79e405c82b5a0004edec40bc48d814ef8a4","head":{"label":"IvoPintodaSilva:bugfix/sectioned-changeset-offset-calculation","ref":"bugfix/sectioned-changeset-offset-calculation","sha":"4864a79e405c82b5a0004edec40bc48d814ef8a4","user":{"login":"IvoPintodaSilva","id":4477378,"node_id":"MDQ6VXNlcjQ0NzczNzg=","avatar_url":"https://avatars3.githubusercontent.com/u/4477378?v=4","gravatar_id":"","url":"https://api.github.com/users/IvoPintodaSilva","html_url":"https://github.com/IvoPintodaSilva","followers_url":"https://api.github.com/users/IvoPintodaSilva/followers","following_url":"https://api.github.com/users/IvoPintodaSilva/following{/other_user}","gists_url":"https://api.github.com/users/IvoPintodaSilva/gists{/gist_id}","starred_url":"https://api.github.com/users/IvoPintodaSilva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IvoPintodaSilva/subscriptions","organizations_url":"https://api.github.com/users/IvoPintodaSilva/orgs","repos_url":"https://api.github.com/users/IvoPintodaSilva/repos","events_url":"https://api.github.com/users/IvoPintodaSilva/events{/privacy}","received_events_url":"https://api.github.com/users/IvoPintodaSilva/received_events","type":"User","site_admin":false},"repo":{"id":162621679,"node_id":"MDEwOlJlcG9zaXRvcnkxNjI2MjE2Nzk=","name":"FlexibleDiff","full_name":"IvoPintodaSilva/FlexibleDiff","private":false,"owner":{"login":"IvoPintodaSilva","id":4477378,"node_id":"MDQ6VXNlcjQ0NzczNzg=","avatar_url":"https://avatars3.githubusercontent.com/u/4477378?v=4","gravatar_id":"","url":"https://api.github.com/users/IvoPintodaSilva","html_url":"https://github.com/IvoPintodaSilva","followers_url":"https://api.github.com/users/IvoPintodaSilva/followers","following_url":"https://api.github.com/users/IvoPintodaSilva/following{/other_user}","gists_url":"https://api.github.com/users/IvoPintodaSilva/gists{/gist_id}","starred_url":"https://api.github.com/users/IvoPintodaSilva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IvoPintodaSilva/subscriptions","organizations_url":"https://api.github.com/users/IvoPintodaSilva/orgs","repos_url":"https://api.github.com/users/IvoPintodaSilva/repos","events_url":"https://api.github.com/users/IvoPintodaSilva/events{/privacy}","received_events_url":"https://api.github.com/users/IvoPintodaSilva/received_events","type":"User","site_admin":false},"html_url":"https://github.com/IvoPintodaSilva/FlexibleDiff","description":"A Swift collection diffing μframework.","fork":true,"url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff","forks_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/forks","keys_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/keys{/key_id}","collaborators_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/teams","hooks_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/hooks","issue_events_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/issues/events{/number}","events_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/events","assignees_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/assignees{/user}","branches_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/branches{/branch}","tags_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/tags","blobs_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/git/refs{/sha}","trees_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/git/trees{/sha}","statuses_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/statuses/{sha}","languages_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/languages","stargazers_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/stargazers","contributors_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/contributors","subscribers_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/subscribers","subscription_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/subscription","commits_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/commits{/sha}","git_commits_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/git/commits{/sha}","comments_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/comments{/number}","issue_comment_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/issues/comments{/number}","contents_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/contents/{+path}","compare_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/compare/{base}...{head}","merges_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/merges","archive_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/downloads","issues_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/issues{/number}","pulls_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/pulls{/number}","milestones_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/milestones{/number}","notifications_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/labels{/name}","releases_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/releases{/id}","deployments_url":"https://api.github.com/repos/IvoPintodaSilva/FlexibleDiff/deployments","created_at":"2018-12-20T19:14:48Z","updated_at":"2018-12-21T10:52:13Z","pushed_at":"2018-12-30T13:44:47Z","git_url":"git://github.com/IvoPintodaSilva/FlexibleDiff.git","ssh_url":"git@github.com:IvoPintodaSilva/FlexibleDiff.git","clone_url":"https://github.com/IvoPintodaSilva/FlexibleDiff.git","svn_url":"https://github.com/IvoPintodaSilva/FlexibleDiff","homepage":"","size":72,"stargazers_count":0,"watchers_count":0,"language":"Swift","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"RACCommunity:master","ref":"master","sha":"72c0992fb2446c975ca99cf8b556a30bb9c59874","user":{"login":"RACCommunity","id":18710012,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4NzEwMDEy","avatar_url":"https://avatars1.githubusercontent.com/u/18710012?v=4","gravatar_id":"","url":"https://api.github.com/users/RACCommunity","html_url":"https://github.com/RACCommunity","followers_url":"https://api.github.com/users/RACCommunity/followers","following_url":"https://api.github.com/users/RACCommunity/following{/other_user}","gists_url":"https://api.github.com/users/RACCommunity/gists{/gist_id}","starred_url":"https://api.github.com/users/RACCommunity/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RACCommunity/subscriptions","organizations_url":"https://api.github.com/users/RACCommunity/orgs","repos_url":"https://api.github.com/users/RACCommunity/repos","events_url":"https://api.github.com/users/RACCommunity/events{/privacy}","received_events_url":"https://api.github.com/users/RACCommunity/received_events","type":"Organization","site_admin":false},"repo":{"id":107228565,"node_id":"MDEwOlJlcG9zaXRvcnkxMDcyMjg1NjU=","name":"FlexibleDiff","full_name":"RACCommunity/FlexibleDiff","private":false,"owner":{"login":"RACCommunity","id":18710012,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4NzEwMDEy","avatar_url":"https://avatars1.githubusercontent.com/u/18710012?v=4","gravatar_id":"","url":"https://api.github.com/users/RACCommunity","html_url":"https://github.com/RACCommunity","followers_url":"https://api.github.com/users/RACCommunity/followers","following_url":"https://api.github.com/users/RACCommunity/following{/other_user}","gists_url":"https://api.github.com/users/RACCommunity/gists{/gist_id}","starred_url":"https://api.github.com/users/RACCommunity/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RACCommunity/subscriptions","organizations_url":"https://api.github.com/users/RACCommunity/orgs","repos_url":"https://api.github.com/users/RACCommunity/repos","events_url":"https://api.github.com/users/RACCommunity/events{/privacy}","received_events_url":"https://api.github.com/users/RACCommunity/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/RACCommunity/FlexibleDiff","description":"A Swift collection diffing μframework.","fork":false,"url":"https://api.github.com/repos/RACCommunity/FlexibleDiff","forks_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/forks","keys_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/teams","hooks_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/hooks","issue_events_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/issues/events{/number}","events_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/events","assignees_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/assignees{/user}","branches_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/branches{/branch}","tags_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/tags","blobs_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/git/refs{/sha}","trees_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/statuses/{sha}","languages_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/languages","stargazers_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/stargazers","contributors_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/contributors","subscribers_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/subscribers","subscription_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/subscription","commits_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/commits{/sha}","git_commits_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/git/commits{/sha}","comments_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/comments{/number}","issue_comment_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/issues/comments{/number}","contents_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/contents/{+path}","compare_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/merges","archive_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/downloads","issues_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/issues{/number}","pulls_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls{/number}","milestones_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/milestones{/number}","notifications_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/labels{/name}","releases_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/releases{/id}","deployments_url":"https://api.github.com/repos/RACCommunity/FlexibleDiff/deployments","created_at":"2017-10-17T06:45:43Z","updated_at":"2018-12-30T01:03:51Z","pushed_at":"2018-12-30T13:44:48Z","git_url":"git://github.com/RACCommunity/FlexibleDiff.git","ssh_url":"git@github.com:RACCommunity/FlexibleDiff.git","clone_url":"https://github.com/RACCommunity/FlexibleDiff.git","svn_url":"https://github.com/RACCommunity/FlexibleDiff","homepage":"","size":65,"stargazers_count":62,"watchers_count":62,"language":"Swift","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":3,"open_issues":1,"watchers":62,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/10"},"html":{"href":"https://github.com/RACCommunity/FlexibleDiff/pull/10"},"issue":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/issues/10"},"comments":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/issues/10/comments"},"review_comments":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/10/comments"},"review_comment":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/pulls/10/commits"},"statuses":{"href":"https://api.github.com/repos/RACCommunity/FlexibleDiff/statuses/4864a79e405c82b5a0004edec40bc48d814ef8a4"}},"author_association":"NONE"}}
{"actor":{"display_login":"andersio"}}