{"push_id":892411643,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"afd2bcd7c1e970d465e6d43f6b956a54faa7b8e4","before":"a203fcdc87264e3cde296a1c8350d65839bff620","commits":[{"sha":"5c2cb36844569bc4a7be70234278d6ec59322e75","author":{"email":"15629a1c9a465c374bf40d9b4e5ca882bfafd5d8@gmail.com","name":"Nicholas Feinberg"},"message":"Refactor simple duration expiry\n\nFunctors to follow.\n\nThis doesn't have any mechanism for enforcing an ordering of\nduration expiry, where that's important (which it seems to be in\na few cases), so we aren't going to be able to pull everything in\nhere, more's the pity.","distinct":true,"url":"https://api.github.com/repos/crawl/crawl/commits/5c2cb36844569bc4a7be70234278d6ec59322e75"},{"sha":"afd2bcd7c1e970d465e6d43f6b956a54faa7b8e4","author":{"email":"15629a1c9a465c374bf40d9b4e5ca882bfafd5d8@gmail.com","name":"Nicholas Feinberg"},"message":"Pull more duration data into duration-data\n\nIn retrospect, this should have been a separate map, but it'd be\njust as much work to redo it now... :(","distinct":true,"url":"https://api.github.com/repos/crawl/crawl/commits/afd2bcd7c1e970d465e6d43f6b956a54faa7b8e4"}]}