{"action":"created","issue":{"url":"https://api.github.com/repos/git4p/git4p/issues/7","labels_url":"https://api.github.com/repos/git4p/git4p/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/git4p/git4p/issues/7/comments","events_url":"https://api.github.com/repos/git4p/git4p/issues/7/events","html_url":"https://github.com/git4p/git4p/issues/7","id":99884376,"number":7,"title":"Ownership of objects and backreferences","user":{"login":"hifi","id":106598,"avatar_url":"https://avatars.githubusercontent.com/u/106598?v=3","gravatar_id":"","url":"https://api.github.com/users/hifi","html_url":"https://github.com/hifi","followers_url":"https://api.github.com/users/hifi/followers","following_url":"https://api.github.com/users/hifi/following{/other_user}","gists_url":"https://api.github.com/users/hifi/gists{/gist_id}","starred_url":"https://api.github.com/users/hifi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hifi/subscriptions","organizations_url":"https://api.github.com/users/hifi/orgs","repos_url":"https://api.github.com/users/hifi/repos","events_url":"https://api.github.com/users/hifi/events{/privacy}","received_events_url":"https://api.github.com/users/hifi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-09T10:33:44Z","updated_at":"2015-08-09T18:32:12Z","closed_at":null,"body":"Suggesting all GitObjects are \"loose\" and don't know anything about the owner repository making them more generic and movable (sort of).\r\n\r\nInstead you could request them from the Git class directly (find commits etc.) and use Git class `store(GitObject o)` method to save them back. Other way would be to change the `store` method of GitObject could take the target Git class instance as a paremeter.\r\n\r\nOverall it'd be nice if there are no backreferences anywhere and there's a clear separation of ownership and possibly some immutability as well when dealing with read-only repositories and if going with your roadmap it would make sense to have immutability before writing is fully implemented.\r\n\r\nI can do this refactor if given the go and guidelines."},"comment":{"url":"https://api.github.com/repos/git4p/git4p/issues/comments/129223873","html_url":"https://github.com/git4p/git4p/issues/7#issuecomment-129223873","issue_url":"https://api.github.com/repos/git4p/git4p/issues/7","id":129223873,"user":{"login":"hifi","id":106598,"avatar_url":"https://avatars.githubusercontent.com/u/106598?v=3","gravatar_id":"","url":"https://api.github.com/users/hifi","html_url":"https://github.com/hifi","followers_url":"https://api.github.com/users/hifi/followers","following_url":"https://api.github.com/users/hifi/following{/other_user}","gists_url":"https://api.github.com/users/hifi/gists{/gist_id}","starred_url":"https://api.github.com/users/hifi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hifi/subscriptions","organizations_url":"https://api.github.com/users/hifi/orgs","repos_url":"https://api.github.com/users/hifi/repos","events_url":"https://api.github.com/users/hifi/events{/privacy}","received_events_url":"https://api.github.com/users/hifi/received_events","type":"User","site_admin":false},"created_at":"2015-08-09T18:32:12Z","updated_at":"2015-08-09T18:32:12Z","body":"Commit 0b63ea55889aea65d6b0f814736b90b930f9557d showcases this."}}