{"push_id":1100588996,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"10caf2f867717470127bec395dd3bfae023853dd","before":"d1ea8ea7032790cf3c5514bbe8c88858292ff44b","commits":[{"sha":"57324d49b2fee9dabc67e738791446b11da9900c","author":{"email":"0d631f2c46e3a504e5d3b2adaefd128c07e067a6@icloud.com","name":"Bruce Pascoe"},"message":"Refactor Galileo shader/transform\n\nDecoupled the API entry point from the implementation by adding\ngroup_set_shader() and group_set_transform().  I thought I already had\nthese, honestly...","distinct":true,"url":"https://api.github.com/repos/fatcerberus/minisphere/commits/57324d49b2fee9dabc67e738791446b11da9900c"},{"sha":"56e40688588eae211f3772e8e3c9ff1d51e58475","author":{"email":"0d631f2c46e3a504e5d3b2adaefd128c07e067a6@icloud.com","name":"Bruce Pascoe"},"message":"Fix SphereFS ~/ bug\n\nThe path resolver wasn't stripping the prefix so that save files ended\nup in a subdirectory called \"~\" instead of directly in the save data\ndirectory as designed.","distinct":true,"url":"https://api.github.com/repos/fatcerberus/minisphere/commits/56e40688588eae211f3772e8e3c9ff1d51e58475"},{"sha":"10caf2f867717470127bec395dd3bfae023853dd","author":{"email":"0d631f2c46e3a504e5d3b2adaefd128c07e067a6@icloud.com","name":"Bruce Pascoe"},"message":"Reject directory with no manifest\n\nDue to an oversight (kev_open() succeeds even if the file doesn't\nexist), directories with no manifest were causing a bogus manifest to be\nsynthesized for them.  The bug was fixed easily enough by adding a\n`can_create` argument to kev_open().","distinct":true,"url":"https://api.github.com/repos/fatcerberus/minisphere/commits/10caf2f867717470127bec395dd3bfae023853dd"}]}