{"ref":"refs/heads/master","commits":[{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/04c72d05fdbb8f8a013e82127698c6af98ba0f24","message":"move these files around","sha":"04c72d05fdbb8f8a013e82127698c6af98ba0f24"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/51cb9e2849a8add7c14f49aa1ab1384900b6db67","message":"more renaming","sha":"51cb9e2849a8add7c14f49aa1ab1384900b6db67"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/300b5ed0710892d807b3a48dc2ea246669e465a4","message":"fix package names","sha":"300b5ed0710892d807b3a48dc2ea246669e465a4"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/38fe89f5cbc11a832fba24d9341f3334d92a8ff4","message":"rename again","sha":"38fe89f5cbc11a832fba24d9341f3334d92a8ff4"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/c57fb0d9e8f2fc29f6851b2bf6bd29bd1af408dd","message":"rename loadtest to qtest","sha":"c57fb0d9e8f2fc29f6851b2bf6bd29bd1af408dd"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/870ec6711ac169646d34241429481f563eaaaa02","message":"bring over PeriodicSyncFile from kestrel.","sha":"870ec6711ac169646d34241429481f563eaaaa02"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/c684a721b0f6266c00f686d725c751e73c424887","message":"more ignores","sha":"c684a721b0f6266c00f686d725c751e73c424887"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/8d54614ad3f9d6d039f5801f9c23dbc3e743e10f","message":"JournalFile and tests.","sha":"8d54614ad3f9d6d039f5801f9c23dbc3e743e10f"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/437362fba6adc3d8b55cd7fec49ab05d4772adee","message":"blow away old file.","sha":"437362fba6adc3d8b55cd7fec49ab05d4772adee"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/668a6a98352e008320cb9f5160c833d921902917","message":"reduce dependencies","sha":"668a6a98352e008320cb9f5160c833d921902917"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/f1b3d0e6cb72e563f8f0e7d2e9238f06a4ff5fc4","message":"beginning of unified journal code.","sha":"f1b3d0e6cb72e563f8f0e7d2e9238f06a4ff5fc4"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/8c4dc84753d2f2d44c8ff093ba5e030533bc2d93","message":"make JournalFile an iterable. (evil grin)","sha":"8c4dc84753d2f2d44c8ff093ba5e030533bc2d93"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/9cbfc96f4f56aef6e2fe203cc433d2dff46045e7","message":"formatting, and copy over the git commit message that explains an otherwise inscrutable sync block. i think we can probably get rid of it later.","sha":"9cbfc96f4f56aef6e2fe203cc433d2dff46045e7"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/bc0b2e81da125b2b2679235d978ac38df097c70d","message":"add Journal#Reader.","sha":"bc0b2e81da125b2b2679235d978ac38df097c70d"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/8a3645c75b9b4eba1a1beca82663490890a7d7d3","message":"bring over ItemIdList.","sha":"8a3645c75b9b4eba1a1beca82663490890a7d7d3"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/a788b321f421c3bd27dc4416928c99f7dc86e0a1","message":"add checkpoint and read-behind support.","sha":"a788b321f421c3bd27dc4416928c99f7dc86e0a1"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/5694cea73306c8696b81936c7203ba3bf4f4bf5e","message":"add a test for unknown items in journals.","sha":"5694cea73306c8696b81936c7203ba3bf4f4bf5e"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/e186551b6e40e379dfb6f537ff15699ff814adc9","message":"always throw CorruptedJournalException when there's a truncated item.","sha":"e186551b6e40e379dfb6f537ff15699ff814adc9"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/d7260aef339d285ae3f55e6f4330aad8e7c63713","message":"add Journal put() and rotate(). one of the tests still fails.","sha":"d7260aef339d285ae3f55e6f4330aad8e7c63713"},{"author":{"name":"Robey Pointer","email":"d98105d58d00e592be222b942fb5e2cc4c1f129f@twitter.com"},"url":"https://api.github.com/repos/robey/libkestrel/commits/853f1859279bec149b2a89a0ef5f7bb8218b7d6d","message":"so, i can't recover from a corrupted journal immediately, because using Stream means the exception will cover up the last couple of valid entries. instead, truncate and start over.","sha":"853f1859279bec149b2a89a0ef5f7bb8218b7d6d"}],"head":"503b2c02777bef0069cf3c24be80ca76825f651b","size":90,"push_id":50418304}