)]}'
{
  "log": [
    {
      "commit": "49ff8b123a0b79aa0ec5a4a1baa288e7cbfdcede",
      "tree": "f0bb816c0ec7263a05709240177bb719d9d3fbcb",
      "parents": [
        "49ef6587b4cb830cbe35a8e14ac4ad5a2c457923"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Apr 13 09:12:31 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Apr 13 09:12:31 2012 +0000"
      },
      "message": "THRIFT-1552 Include paths for c/c++ should be prefixed with \u0027thrift/\u0027\n\nTo ensure there are no include path collisions the C and C++ header\ninclude paths should include \u0027thrift\u0027 as the root leaf. This will\nprevent having to place /usr/include/thrift into the compilers include\nheader search path, which might otherwise result in the compiler\naccidentally picking up headers that it shouldn\u0027t.\n\ne.g. #include \u003cfoo/bar.h\u003e should be #include \u003cthrift/foo/bar.h\u003e\n\nChange-Id: I48f2b0f549bda0fc81e85506ac857adc800b98a1\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325674 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "351e22b52afcbe9b40e0933f80b06b479dff50f4",
      "tree": "bf08ca7a10a6adca594d44ae22111008f2ccb0ee",
      "parents": [
        "f261dd795c4004c72c7efd66c4b09f66299bfc83"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:19 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:19 2010 +0000"
      },
      "message": "THRIFT-503. cpp: Move the tests built by \"make check\" under lib/cpp\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991246 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ea2cba8ba8484a8d4e669c02dd97b3b2445ef322",
      "tree": "6be4a3bf2d069a006c9a15f5ee47a1893a176f4d",
      "parents": [
        "4bc4231040186d9e0c35ff4d8211ce7b7e43aab5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 21:35:00 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 21:35:00 2009 +0000"
      },
      "message": "THRIFT-387. Add license headers to a bunch of files\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@760189 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b139f64448f4ae89a24029f0588a494308e84e74",
      "tree": "4ff7a4c3fdb0312f6a5868b8f6fb9219f53cc48a",
      "parents": [
        "554ea6f936c3ad2c3317e6ba94356c65b088536f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 17 20:28:46 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 17 20:28:46 2009 +0000"
      },
      "message": "THRIFT-325. Remove a bunch of uses of the old command line format\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745242 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b5e6221eb5cbabab25d5c9badb7262b15c42cfdd",
      "tree": "b215dc9387b4b9e7cb454e0306fbe66ac0b2d42e",
      "parents": [
        "3fa89e33f3e7e76a2f79546c72d1728492f12bef"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Sat Jan 31 22:36:20 2009 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Sat Jan 31 22:36:20 2009 +0000"
      },
      "message": "THRIFT-270: change cpp namespaces from facebook::thrift to apache::thrift\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739644 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "28f298dd5d9b68c9c0dbaefa95c88d51ed8e430a",
      "tree": "4c089343bfd96f8eddb653ec2f746a27d7a8ec9a",
      "parents": [
        "9a4edfa07fe0c09865015a15d26695823cd4a5fd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "message": "Memory-based transport rewrite.\n\nThe old implementations of the memory-based transports (TBufferedTransport,\nTFramedTransport, and TMemoryBuffer) shared very little code and all worked\na bit differently.  This change unifies them all as subclasses of a single\nbase (TBufferBase) which handles the fast-path operations (when requests\ncan be satisfied by the buffer) with inline methods (that will eventually\nbe made nonvirtual in the template branch) and calls out to pure-virutal\nmethods to handle full/empty buffers.  All of the buffer-management is now\ndone in terms of \"base and bound\" pointers rather than \"pos\" integers.\n\nThese classes were moved to TBufferTransports.{h,cpp}.  The .h is included\nin TTransportUtils for backwards compatibility.\n\nAlso added a \"TShortReadTransport\" to assist testing transports.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665676 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2a4bfd6d0cdd32c9ade36a5c481b952f522f4fb2",
      "tree": "0453c0c01568a02daa57612738e1704e7d1cf6a8",
      "parents": [
        "c5c542538b7954c721fbd8007ebf0b482a86677a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 07 23:45:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 07 23:45:00 2008 +0000"
      },
      "message": "Clean up the unit tests.\n\n- Make Python tests cwd-agnostic.\n- Use boost::test.\n- Add a benchmark.\n- Use a library to clean up test/Makefile.am.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665640 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ce161a96cddbea8916d0b20406b12d96772482ed",
      "tree": "deb35caa60008c44d04468e3d8f3298e89e1fd11",
      "parents": [
        "8775c73db2729f85fd66e2c8443a3628fd55a972"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Sep 11 22:09:42 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Sep 11 22:09:42 2007 +0000"
      },
      "message": "Thrift: Clean up and test TDenseProtocol\n\nSummary:\n- TDenseProtocol now includes a part of the struct fingerprint in\n  the serialized message, to protect from unserialzing trash.\n- A lot of cleanups and commenting for TDenseProtocol.\n- A lot of test cases for same.\n\nReviewed By: mcslee\n\nTest Plan: test/DenseProtoTest.cpp\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665257 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e67c0e63b315873aba8fb6770821fc88bd276a74",
      "tree": "09b34bc3722012fe7489032f4a614006dd9604f4",
      "parents": [
        "d8429fcc1020dec143e36dbfc055edbd3009f11b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Sep 07 01:34:12 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Sep 07 01:34:12 2007 +0000"
      },
      "message": "Thrift: TDenseProtocol using variable-length integers.\n\nReviewed By: mcslee\n\nTest Plan:\ntest/DenseProtoTest.cpp\n\nStill have to test:\n- Bounds checking.\n- borrow/consume on TBuffered and TFramed.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665252 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4e7530d4e5eaee2ba54d67d2b096c7e705bb53ce",
      "tree": "dd17427ed417d8a1aff25ba6a01d6029cb539023",
      "parents": [
        "47557bc8ad061a90c88d485979009c2ee8237854"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Sep 04 21:49:53 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Sep 04 21:49:53 2007 +0000"
      },
      "message": "Thrift: TDenseProtocol.\n\nSummary:\n- Made some stuff in TBinaryProtocol protected instead of private.\n- Added a preliminary version of TDenseProtocol.  This is still\n  super highly experimental and gross, and I wrote a super scary\n  comment to explain that to anyone foolish enough to try to use\n  this in its current state.\n\nReviewed By: mcslee\n\nTest Plan: test/DenseProtoTest.cpp\n\nRevert Plan: ok\n\nMemcache Impact:\nSave memory if/when people use it.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665247 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ]
}
