{"push_id":601199567,"size":4,"distinct_size":1,"ref":"refs/heads/master","head":"b0c4c64f451b60c49158e9ef9d366ee04633a47b","before":"ab1241d6f7ac672e504181face15ff8a0c1064f8","commits":[{"sha":"dc57df3dda3d6bdf2a496904b8e5af9685aa8c83","author":{"email":"d14dbd98feb61f95c06fae4b43cd3f1201b7a3e0@gmail.com","name":"Chris Shea"},"message":"[CS] Prepare two new \"error\" types.\n\nIncluding, test helpers to assert that there are or aren't error\nmessages at any of the types, so tests don't necessarily have to know\nwhat *kind* of error is generated (or not), just that one is (or isn't).","distinct":false,"url":"https://api.github.com/repos/votinginfoproject/data-processor/commits/dc57df3dda3d6bdf2a496904b8e5af9685aa8c83"},{"sha":"f75365e07f548c3a05cbeb9c5651529c7bd5f2d4","author":{"email":"d14dbd98feb61f95c06fae4b43cd3f1201b7a3e0@gmail.com","name":"Chris Shea"},"message":"[CS] Add error if header row is missing from CSV","distinct":false,"url":"https://api.github.com/repos/votinginfoproject/data-processor/commits/f75365e07f548c3a05cbeb9c5651529c7bd5f2d4"},{"sha":"90796338641df1c2cb9c40243a0b2f0f3f08d7e9","author":{"email":"d14dbd98feb61f95c06fae4b43cd3f1201b7a3e0@gmail.com","name":"Chris Shea"},"message":"[CS] A map is more descriptive","distinct":false,"url":"https://api.github.com/repos/votinginfoproject/data-processor/commits/90796338641df1c2cb9c40243a0b2f0f3f08d7e9"},{"sha":"b0c4c64f451b60c49158e9ef9d366ee04633a47b","author":{"email":"d14dbd98feb61f95c06fae4b43cd3f1201b7a3e0@gmail.com","name":"Christopher Shea"},"message":"Merge pull request #25 from votinginfoproject/validate-csv-header-row\n\nValidate CSV header row","distinct":true,"url":"https://api.github.com/repos/votinginfoproject/data-processor/commits/b0c4c64f451b60c49158e9ef9d366ee04633a47b"}]}