{"action":"created","issue":{"url":"https://api.github.com/repos/etsy/Hound/issues/39","labels_url":"https://api.github.com/repos/etsy/Hound/issues/39/labels{/name}","comments_url":"https://api.github.com/repos/etsy/Hound/issues/39/comments","events_url":"https://api.github.com/repos/etsy/Hound/issues/39/events","html_url":"https://github.com/etsy/Hound/pull/39","id":56021271,"number":39,"title":"Refactor internal VCS api and add Mercurial support","user":{"login":"belak","id":107097,"avatar_url":"https://avatars.githubusercontent.com/u/107097?v=3","gravatar_id":"","url":"https://api.github.com/users/belak","html_url":"https://github.com/belak","followers_url":"https://api.github.com/users/belak/followers","following_url":"https://api.github.com/users/belak/following{/other_user}","gists_url":"https://api.github.com/users/belak/gists{/gist_id}","starred_url":"https://api.github.com/users/belak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/belak/subscriptions","organizations_url":"https://api.github.com/users/belak/orgs","repos_url":"https://api.github.com/users/belak/repos","events_url":"https://api.github.com/users/belak/events{/privacy}","received_events_url":"https://api.github.com/users/belak/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"kellegous","id":54528,"avatar_url":"https://avatars.githubusercontent.com/u/54528?v=3","gravatar_id":"","url":"https://api.github.com/users/kellegous","html_url":"https://github.com/kellegous","followers_url":"https://api.github.com/users/kellegous/followers","following_url":"https://api.github.com/users/kellegous/following{/other_user}","gists_url":"https://api.github.com/users/kellegous/gists{/gist_id}","starred_url":"https://api.github.com/users/kellegous/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kellegous/subscriptions","organizations_url":"https://api.github.com/users/kellegous/orgs","repos_url":"https://api.github.com/users/kellegous/repos","events_url":"https://api.github.com/users/kellegous/events{/privacy}","received_events_url":"https://api.github.com/users/kellegous/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-01-30T11:10:59Z","updated_at":"2015-01-30T13:21:25Z","closed_at":"2015-01-30T12:59:04Z","pull_request":{"url":"https://api.github.com/repos/etsy/Hound/pulls/39","html_url":"https://github.com/etsy/Hound/pull/39","diff_url":"https://github.com/etsy/Hound/pull/39.diff","patch_url":"https://github.com/etsy/Hound/pull/39.patch"},"body":"This was actually fairly painless. I refactored all repo accesses to use a new `hound/vcs` package (it replaces `hound/git`) which works similar to `database/sql` in that you can register plugins to handle operations.\r\n\r\nThe only odd thing is that in stead of doing `hg id -i`, I used `hg log -r tip --template '{node}'` which should give a 40 character sha, not the shorter one, as there's a regex used in existing that's somewhat lazy in looking at directory names.\r\n\r\nAlso, most of the hg plugin was a direct copy from the git plugin with a few renames. It might be worthwhile to clean it up a bit.\r\n\r\nThe config adds a new vcs option which allows you to specify the vcs of a repository. It defaults to git.\r\n\r\nDocs have not been updated to say that mercurial is supported yet, as I'd like to get some feedback on this first."},"comment":{"url":"https://api.github.com/repos/etsy/Hound/issues/comments/72199452","html_url":"https://github.com/etsy/Hound/pull/39#issuecomment-72199452","issue_url":"https://api.github.com/repos/etsy/Hound/issues/39","id":72199452,"user":{"login":"kellegous","id":54528,"avatar_url":"https://avatars.githubusercontent.com/u/54528?v=3","gravatar_id":"","url":"https://api.github.com/users/kellegous","html_url":"https://github.com/kellegous","followers_url":"https://api.github.com/users/kellegous/followers","following_url":"https://api.github.com/users/kellegous/following{/other_user}","gists_url":"https://api.github.com/users/kellegous/gists{/gist_id}","starred_url":"https://api.github.com/users/kellegous/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kellegous/subscriptions","organizations_url":"https://api.github.com/users/kellegous/orgs","repos_url":"https://api.github.com/users/kellegous/repos","events_url":"https://api.github.com/users/kellegous/events{/privacy}","received_events_url":"https://api.github.com/users/kellegous/received_events","type":"User","site_admin":false},"created_at":"2015-01-30T13:21:25Z","updated_at":"2015-01-30T13:21:25Z","body":"Thanks for doing this. I'm going to try this out on some mozilla repos this weekend. I went ahead and merged this and we can update docs and example configs in separate changes."}}