{"push_id":574516588,"size":26,"distinct_size":26,"ref":"refs/heads/master","head":"375769232ead6d8bd90877e6694e0623ea852031","before":"5927ceb15e951c46d35f87759259d0a440f94502","commits":[{"sha":"014dc95863f1af8af4eea195b9f04f7949d63657","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"admin_t: Don't check for refcount if should_check_refcount is false\n\nPreviously we checked explicitly if we were pypy, but this isn't\nnecessarily the case.\n\nChange-Id: If0e8e7f603a3c18d6726ae8d90242e21001e86ca\nReviewed-on: http://review.couchbase.org/45200\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/014dc95863f1af8af4eea195b9f04f7949d63657"},{"sha":"83b9ac820c33338a763514cdab495f715c49c75e","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"test: Call custom destructor hook if defined\n\nChange-Id: Iaa076b3e2f861b162a271f4e86aca4c9440ba9f9\nReviewed-on: http://review.couchbase.org/45201\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/83b9ac820c33338a763514cdab495f715c49c75e"},{"sha":"24e487cf8314a4404185331678dbd56b3f0061c0","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"gevent _implDtorHook\n\nChange-Id: Ia05d94d4765d980fcfd354638ad2bd79499596ca\nReviewed-on: http://review.couchbase.org/45202\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/24e487cf8314a4404185331678dbd56b3f0061c0"},{"sha":"4250d2b189fc3286d63b7e859daa1fd7957c03f8","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"gcouchbase: re-enable include_docs test\n\nWith the view refactor, include_docs (client-side) now works again\n\nChange-Id: I1a7450f12cf0d6d31b4978ad6d12e78bad9490df\nReviewed-on: http://review.couchbase.org/45270\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/4250d2b189fc3286d63b7e859daa1fd7957c03f8"},{"sha":"ca63e080e75c770bfc67929786c6fc208f362a4f","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"txcouchbase: TxTimer should call super's __init__\n\nChange-Id: I5c274a22cec6f16ab44b8dd9df08f059cd5cfc7a\nReviewed-on: http://review.couchbase.org/45271\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/ca63e080e75c770bfc67929786c6fc208f362a4f"},{"sha":"bb456307a77e48de1a10b26481012201d2ec9592","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Upgrade to new mock\n\nChange-Id: Ia0807e75e7d09b0828e7f4d32dc48f1c2376fb84\nReviewed-on: http://review.couchbase.org/45328\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/bb456307a77e48de1a10b26481012201d2ec9592"},{"sha":"098bba3f60a9a055975b92edb248bd902656f461","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"tests: Use new mock\n\nThis allows us to use the new mock with views tests, so that we can\nalways run the full suite of tests even if a real server is not\navailable.\n\nChange-Id: Ifb60d1402c6483784b909bf03c5678db0d5a5665\nReviewed-on: http://review.couchbase.org/45199\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/098bba3f60a9a055975b92edb248bd902656f461"},{"sha":"89b477200300aaa088c097e852f9779e06f3cd0b","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"txbench: use multi ops with non-deferred mode (if requested)\n\nChange-Id: Id5c72ac3f77a7df917e7c1cf167fd05eccb010e0\nReviewed-on: http://review.couchbase.org/45329\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/89b477200300aaa088c097e852f9779e06f3cd0b"},{"sha":"46792d299cb7cfbe4c683c24e53faa550dbbbdfd","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"don't skip twisted tests on pypy\n\nThey mostly work fine under cffi mode\n\nChange-Id: I21dba9b9f606f6baeb5f341325f7111f938c057e\nReviewed-on: http://review.couchbase.org/45330\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/46792d299cb7cfbe4c683c24e53faa550dbbbdfd"},{"sha":"e83ccaeb94ea5193e75a340c7a1df239d4076daa","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Minor fixes to twisted tests so that they'll play nicely with ffi\n\nUnfortunately Python sucks at the proper destruction and memory\nmanagement of its objects. Yes, you could write explicit destroy\nmethods, but that would be a bit counter intuitive and non-idiomatic in\npython.\n\nAnyway, this makes the tests a bit more safe when it comes to checking\nthat the reactor is clean. The test will check if the '_async_shutdown'\nmethod exists (it does in my current cffi impl) and call it. The\n'_async_shutdown' is basically a magic close.\n\nChange-Id: Ia3edfba7c12fc051100a6cc2f45b49af4893f55b\nReviewed-on: http://review.couchbase.org/45331\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/e83ccaeb94ea5193e75a340c7a1df239d4076daa"},{"sha":"b01ffca23fa5f3da2ebc6e72a3e36a4ab71155eb","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"restore MAX_URI_LENGTH in couchbase.views.iterator\n\nWhile not used from that file directly, other modules import from there\n\nChange-Id: I0b62166588cc3b98d41c931b2828a2b7453676b5\nReviewed-on: http://review.couchbase.org/45332\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/b01ffca23fa5f3da2ebc6e72a3e36a4ab71155eb"},{"sha":"4bfc6d351c0c5122bac45afa2626bca1fdfc7ac8","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Add bucket flush operation\n\nChange-Id: I458c0693a17c5bead5922ef1265eab6889201ae3\nReviewed-on: http://review.couchbase.org/45333\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/4bfc6d351c0c5122bac45afa2626bca1fdfc7ac8"},{"sha":"6e98e58db23036a6b3a9b1905d844c2e35293df3","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Remove old PyPy compat support\n\nRather than building a barely functioning module on PyPy and confuse\nusers, simply don't compile the C extension and require use of\ncouchbase_ffi. This eliminates some dead code and makes the process a\nbit more straight-forward\n\nChange-Id: I02033af19f63918a65641fb6711a3af0ab20084e\nReviewed-on: http://review.couchbase.org/45334\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/6e98e58db23036a6b3a9b1905d844c2e35293df3"},{"sha":"e954585c590566e6deec0869b0dd44eefbd8db47","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Fix up some README stuff\n\n- Windows 'snapshots' are dead\n- Show how to install from git\n- Indicate the need for `PYTHONPATH` if not installing\n\nChange-Id: I5831299f57271d18225d513dfd31f9707c8e714e\nReviewed-on: http://review.couchbase.org/45388\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/e954585c590566e6deec0869b0dd44eefbd8db47"},{"sha":"d336b7ea29a8682a34a434e3ced9f8c4860b39da","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Modify version generation to conform with PEP-440\n\nChange-Id: Ie4f7cea13f6d96605ab1ef79dc349bae32a3d04f\nReviewed-on: http://review.couchbase.org/45389\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/d336b7ea29a8682a34a434e3ced9f8c4860b39da"},{"sha":"568c1fcd1c46643b66b7ff45b804d5c448258f9f","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Asyncio fixes\n\n- iops: There's actually a third event, PYCBC_EVACTION_CLEANUP, which\n  means to completely erase the timer. Don't automatically reschedule\n  the timer if the event is not PYCBC_EVACTION_UNWATCH\n- bucket: Fix typo in exception throwing clause\n- abench: Enhanced trollius compat and remove some dead options.\n  Unfortunately it's kinda ugly right now, but there is no good way I\n  could find of emulating Py3.4's yield from in Python 2\n- Require 'experimental' module to be used\n\nChange-Id: I247a394536e1b1b8b35df082a1d4b85d108c14c4\nReviewed-on: http://review.couchbase.org/45400\nTested-by: Mark Nunberg <mnunberg@haskalah.org>\nReviewed-by: Volker Mische <volker.mische@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/568c1fcd1c46643b66b7ff45b804d5c448258f9f"},{"sha":"31e30b9e9d886b00c48223deca232bf47caa2b6a","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Make views code (even) more modular\n\nWe need to support N1QL in the future (which has a similar interface),\nand will soon switch over to libcouchbase's built-in view functionality\n(so less code in the C extension. yay!)\n\nChange-Id: I684f0262f741557ff53da78e21fbaea57fc2a355\nReviewed-on: http://review.couchbase.org/46344\nTested-by: Mark Nunberg <mark.nunberg@couchbase.com>\nReviewed-by: Dave Rigby <daver@couchbase.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/31e30b9e9d886b00c48223deca232bf47caa2b6a"},{"sha":"6b003cb79e30f5fa9a5cd0509018a69cb13f3656","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"IOPS: Use Py_CLEAR rather than Py_XDECREF\n\nReduce chance of accessing freed memory\n\nChange-Id: Iecbc67345a6831a0f6bd90bb6a44a80f1230091a\nReviewed-on: http://review.couchbase.org/46345\nTested-by: Mark Nunberg <mark.nunberg@couchbase.com>\nReviewed-by: Dave Rigby <daver@couchbase.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/6b003cb79e30f5fa9a5cd0509018a69cb13f3656"},{"sha":"1cfb6b284af25d620440bc695b1b050b677315e2","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"Use libcouchbase-based views implementation\n\nThis uses the new view api from <libcouchbase/views.h>, which is mostly\nbuilt atop the implementation which was previously in this library (i.e.\njsonsl, etc.)\n\nThe main consequence is that `include_docs` is now done inside\nlibcouchbase rather than inside python. This allows for far greater\nperformance and flexibility (twisted can now take advantage of\ninclude_docs; for example).\n\nChange-Id: I2fce881272cbd95f471944d39913c9f961eadf28\nReviewed-on: http://review.couchbase.org/46346\nTested-by: Mark Nunberg <mark.nunberg@couchbase.com>\nReviewed-by: Dave Rigby <daver@couchbase.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/1cfb6b284af25d620440bc695b1b050b677315e2"},{"sha":"757edc1024e8c51e004128b36c6305e5de9970d8","author":{"email":"e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org","name":"Mark Nunberg"},"message":"gcouchbase/tests: fix typo\n\nChange-Id: Ie49861eb01610ff558218e99fbe776fa60324974\nReviewed-on: http://review.couchbase.org/46348\nReviewed-by: Dave Rigby <daver@couchbase.com>\nTested-by: Mark Nunberg <mark.nunberg@couchbase.com>","distinct":true,"url":"https://api.github.com/repos/mnunberg/couchbase-python-client/commits/757edc1024e8c51e004128b36c6305e5de9970d8"}]}