)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4a2343c570fe15412f7645cb77b6f44bca1ed9c4","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Uses a list and a linear search instead of the tree for revocation"},{"line_number":10,"context_line":"checking."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Remoed one explicit emit when a role was revoked.  This was causing"},{"line_number":13,"context_line":"spurious and incorrect revocation for all tokens for a user."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I75bbc79a0dac460b1ccf142d15f710dd2d4a057b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_d07985fd","line":12,"updated":"2015-07-28 14:45:05.000000000","message":"Removed*?","commit_id":"047454a638fedae3dfbd381c2713b2f6a41b27a7"}],"keystone/tests/unit/test_revoke.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"6776ccbda78d71572dc340af70a9c5284c07e909","unresolved":false,"context_lines":[{"line_number":561,"context_line":"        self._assertTokenRevoked(token_data)"},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"    def _assertEmpty(self, collection):"},{"line_number":564,"context_line":"        return self.assertTrue(collection, \"collection not empty\")"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"class RevokeTreeTests(RevokeContainerTests, tests.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_aa1d9a67","line":564,"updated":"2015-07-27 19:13:37.000000000","message":"this is now asserting that the collection is truthy, and thus *not* empty","commit_id":"047454a638fedae3dfbd381c2713b2f6a41b27a7"}]}
