{"push_id":715958716,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"db91c994f7ca02833e099b36c8715e70eda8cf2d","before":"9867ab3d2fdfb96ec3a80c9c2e194a3a821a68f3","commits":[{"sha":"db91c994f7ca02833e099b36c8715e70eda8cf2d","author":{"email":"21e836b9c3b7413c935a1c60bdfaa292eaad29e0@ni.com","name":"rfriedma"},"message":"Added better support for concurrency by reading the true state of the repository before every update.  There's still a race condition between multiple users who happen to click and update within the same second but it's a slim window and it's the best we can do without more complex external data solutions. Also simplified the data model (and accompanying logic) by treating the retro items as a flat array (much like a DB table) instead of a nested JSON structure.","distinct":true,"url":"https://api.github.com/repos/rfriedma/Retroapptive/commits/db91c994f7ca02833e099b36c8715e70eda8cf2d"}]}