{"push_id":790839212,"size":20,"distinct_size":20,"ref":"refs/heads/master","head":"95c60d89b6282dfd3bf4fe966d7f459d42199609","before":"9834dda62e18f545af02c373d73e14c1cd810481","commits":[{"sha":"89f929d50db976ef2f5c8478f81af4a0d506bdf9","author":{"email":"715167a6e93e73efe2516c0815bd4152fa2c8e8d@gmail.com","name":"Amy Brown"},"message":"Copyedits","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/89f929d50db976ef2f5c8478f81af4a0d506bdf9"},{"sha":"585140cc3ecd399873a46ec513fc91278d42f5f4","author":{"email":"715167a6e93e73efe2516c0815bd4152fa2c8e8d@gmail.com","name":"Amy Brown"},"message":"Copyedits -- end of first pass","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/585140cc3ecd399873a46ec513fc91278d42f5f4"},{"sha":"567dab2befb9f3c794c9d8a49a0ed682d8558ee3","author":{"email":"715167a6e93e73efe2516c0815bd4152fa2c8e8d@gmail.com","name":"Amy Brown"},"message":"Copyedits: start of second pass","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/567dab2befb9f3c794c9d8a49a0ed682d8558ee3"},{"sha":"bf761c00d8ae0b5e19a25897cfce92c013bc0922","author":{"email":"715167a6e93e73efe2516c0815bd4152fa2c8e8d@gmail.com","name":"Amy Brown"},"message":"Final copyedits","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/bf761c00d8ae0b5e19a25897cfce92c013bc0922"},{"sha":"470cba87faa56f9eb941f14f9b1a1507888f7f6c","author":{"email":"a5c95b3d7cb4d0ae05a15c79c79ab458dc2c8f9e@mongodb.com","name":"A. Jesse Jiryu Davis"},"message":"Fix crawler's URL regex.\n\nRequire something like href=\"string\", ignore href=string without quotes.","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/470cba87faa56f9eb941f14f9b1a1507888f7f6c"},{"sha":"d2d0c1a9c73ed2ca0e5044b34e9c0b2ec33078a5","author":{"email":"a5c95b3d7cb4d0ae05a15c79c79ab458dc2c8f9e@mongodb.com","name":"A. Jesse Jiryu Davis"},"message":"Whitespace fixes in crawling.py.","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/d2d0c1a9c73ed2ca0e5044b34e9c0b2ec33078a5"},{"sha":"3228daf62f5541a604111d45a9f0dac904b56eba","author":{"email":"a5c95b3d7cb4d0ae05a15c79c79ab458dc2c8f9e@mongodb.com","name":"A. Jesse Jiryu Davis"},"message":"Remove assert from crawling.py.\n\nIf the crawler hits 404s, the assertion that all \"seen\" URLs are also\n\"done\" is legitimately false.","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/3228daf62f5541a604111d45a9f0dac904b56eba"},{"sha":"e144e27de3aef76b4fae44f8d027e5db40e8aef3","author":{"email":"a5c95b3d7cb4d0ae05a15c79c79ab458dc2c8f9e@mongodb.com","name":"A. Jesse Jiryu Davis"},"message":"Use aiohttp.ClientSession in crawler.\n\nBeginning with aiohttp 0.16, ClientSession is preferred to using\nTCPConnector directly, for connection pooling HTTP keep-alive.","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/e144e27de3aef76b4fae44f8d027e5db40e8aef3"},{"sha":"e72f2a0a9607e933e5f71f0354691a1ab2122031","author":{"email":"951d07f5194d2db3e8d2ba4561b91a6013c20893@gmail.com","name":"Michael DiBernardo"},"message":"Merge pull request #139 from ajdavis/crawler-updates\n\nCrawler updates","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/e72f2a0a9607e933e5f71f0354691a1ab2122031"},{"sha":"039f458c3cde860607708864652f6fed92994c12","author":{"email":"951d07f5194d2db3e8d2ba4561b91a6013c20893@gmail.com","name":"Michael DiBernardo"},"message":"Merge pull request #126 from amyrbrown/static-analysis-edits\n\nEdits to Static Analysis chapter","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/039f458c3cde860607708864652f6fed92994c12"},{"sha":"b106d2d6ca014657ed080b7765caac6a3bab2b88","author":{"email":"144838586916ba209211ef1737dda867450aecc1@gmail.com","name":"mozillazg"},"message":"web-server: fix \"'ERR_NO_PERM' is not defined\"","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/b106d2d6ca014657ed080b7765caac6a3bab2b88"},{"sha":"1d69212aaa17c2c3ff4d2b9f86f2773027aa7a61","author":{"email":"951d07f5194d2db3e8d2ba4561b91a6013c20893@gmail.com","name":"Michael DiBernardo"},"message":"Merge pull request #140 from mozillazg/fix-web-server\n\nweb-server: fix \"'ERR_NO_PERM' is not defined\"","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/1d69212aaa17c2c3ff4d2b9f86f2773027aa7a61"},{"sha":"b0aefe5e56924dabec4fa16ad1553f5f3c6db561","author":{"email":"78ffb02e053fbf34ac072295d1e547d35762892a@gmail.com","name":"Andrew Svetlov"},"message":"Fix tests","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/b0aefe5e56924dabec4fa16ad1553f5f3c6db561"},{"sha":"71e0672e68e5c1ddb69402091b43703868052294","author":{"email":"78ffb02e053fbf34ac072295d1e547d35762892a@gmail.com","name":"Andrew Svetlov"},"message":"Get rid on unclosed response errors","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/71e0672e68e5c1ddb69402091b43703868052294"},{"sha":"02f720c676d0e4e8dc350bf9d7a49d1945d8a093","author":{"email":"78ffb02e053fbf34ac072295d1e547d35762892a@gmail.com","name":"Andrew Svetlov"},"message":"Gracefully close crawler","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/02f720c676d0e4e8dc350bf9d7a49d1945d8a093"},{"sha":"70c22869c468b7f4877511847348e9ec192ca68e","author":{"email":"a5c95b3d7cb4d0ae05a15c79c79ab458dc2c8f9e@mongodb.com","name":"A. Jesse Jiryu Davis"},"message":"crawler.markdown fixes for aiohttp.ClientSession.\n\nNow that the example code has switched from using bare aiohttp.Request\nto the connection-pooling aiohttp.ClientSession, I finish updating the\ncode blocks in the chapter text, and show how to release the connection\nback to the pool.","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/70c22869c468b7f4877511847348e9ec192ca68e"},{"sha":"398b61f8de470b59a7cf386564dfa9ba45ee061d","author":{"email":"951d07f5194d2db3e8d2ba4561b91a6013c20893@gmail.com","name":"Michael DiBernardo"},"message":"Merge pull request #142 from asvetlov/master\n\nGracefully close aiohttp session and responses","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/398b61f8de470b59a7cf386564dfa9ba45ee061d"},{"sha":"7575a34a3795cec5859049d834f902d2e34efbda","author":{"email":"951d07f5194d2db3e8d2ba4561b91a6013c20893@gmail.com","name":"Michael DiBernardo"},"message":"Merge pull request #143 from ajdavis/crawler-updates-2\n\ncrawler.markdown fixes for aiohttp.ClientSession.","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/7575a34a3795cec5859049d834f902d2e34efbda"},{"sha":"c41fa6137a3dab0e4e56f64f2e8271dfb97797b6","author":{"email":"144838586916ba209211ef1737dda867450aecc1@gmail.com","name":"mozillazg"},"message":"web-server: fix missing cgiutil #91","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/c41fa6137a3dab0e4e56f64f2e8271dfb97797b6"},{"sha":"95c60d89b6282dfd3bf4fe966d7f459d42199609","author":{"email":"01287a9b388c3393968d9b6523dec7e99bea51ab@software-carpentry.org","name":"Greg Wilson"},"message":"Merge pull request #144 from mozillazg/fix-web-server\n\nweb-server: fix missing cgiutil #91","distinct":true,"url":"https://api.github.com/repos/mosoft521/500lines/commits/95c60d89b6282dfd3bf4fe966d7f459d42199609"}]}