)]}'
{
  "log": [
    {
      "commit": "8f27189dfd2812a9aa5bd57ce7155fbc295440ad",
      "tree": "9ca104ed1b512c341816463ba63743ec05545748",
      "parents": [
        "afc3777f9b0904120369e67585e60e703f20ced8"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Apr 14 22:05:50 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Apr 14 22:05:50 2015 +0200"
      },
      "message": "THRIFT-3090 cmake build is broken (set CMake version to 2.8.12)\n"
    },
    {
      "commit": "efd14e7c2521c3210531f1893719905ea8a0835e",
      "tree": "5822cfd544750e4ad679005e4fd75a7f772152b7",
      "parents": [
        "a4fc440e51970c8c5d745ac118ba4ffdfdbd2191"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Apr 14 21:06:14 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Apr 14 21:06:14 2015 +0200"
      },
      "message": "THRIFT-3062 fix segfault on invalid port number\n\nThis closes #425\n\ncommit 9d5654389daab6ab6be6bdae110a1acede51e945\nAuthor: Jim King \u003cjim.king@simplivity.com\u003e\nDate: 2015-04-04T19:47:34Z\n"
    },
    {
      "commit": "5af78c8776a668c6b46a1eba33823a068d16f1f3",
      "tree": "7966c7f364bd3e5f9ad1a5be5e7c0837471f4fb3",
      "parents": [
        "81b3c440c64a372b6e47f9cb50804bd60f83e83f"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Apr 12 21:43:12 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Apr 12 21:43:12 2015 +0200"
      },
      "message": "Revert \"THRIFT-3014 AppVeyor support - fix format\"\n\nThis reverts commit 81b3c440c64a372b6e47f9cb50804bd60f83e83f.\n\ncommit included modified CMakeLists.txt files, as part from local test\n"
    },
    {
      "commit": "81b3c440c64a372b6e47f9cb50804bd60f83e83f",
      "tree": "7fedf1d0d5546d71cef5dd333ec587316cca2952",
      "parents": [
        "b1a35da9168cca5a7524ab9814161f024da145df"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Apr 12 21:06:11 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Apr 12 21:06:11 2015 +0200"
      },
      "message": "THRIFT-3014 AppVeyor support - fix format\n"
    },
    {
      "commit": "7848d887e010ad0abb8a6e5857a41108ee6455b7",
      "tree": "83de1a67813a5a8585dce37617d9d7d79ed326de",
      "parents": [
        "7fc33be18cdf995ac8b0845897f9b4ea3228c50f"
      ],
      "author": {
        "name": "Jim King",
        "email": "jim.king@simplivity.com",
        "time": "Mon Apr 06 21:38:06 2015 -0400"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Apr 07 20:46:48 2015 +0200"
      },
      "message": "THRIFT-3086 fix a few minor valgrind identified issues\n"
    },
    {
      "commit": "3815e0b2dcd63ebfe245dcc41022c64a898bd667",
      "tree": "e25ecbe30f2a2477b0b6460281f0f0e773bd0bc7",
      "parents": [
        "011445528fc779c27e8755c0af4ea5dff8c1005d"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Apr 04 16:26:30 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Apr 04 16:26:30 2015 +0200"
      },
      "message": "THRIFT-1025 C++ ServerSocket should inherit from Socket with the necessary Ctor to listen on connections from a specific host (similar to perl library)\n\nadd new test to CMakeLists.txt\n"
    },
    {
      "commit": "011445528fc779c27e8755c0af4ea5dff8c1005d",
      "tree": "b0b846b275beb58a5fbbaafb97e1aafbb4047f09",
      "parents": [
        "8ffabb02c2c07aee575149ad3a2043520ef82b85"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Apr 04 16:14:08 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Apr 04 16:14:08 2015 +0200"
      },
      "message": "THRIFT-1025 C++ ServerSocket should inherit from Socket with the necessary Ctor to listen on connections from a specific host (similar to perl library)\n\nPatch: Jim King \u003cjim.king@simplivity.com\u003e\nThis closes PR: #417\n"
    },
    {
      "commit": "283899bf9a8de07522b6507dfd0f6ab70d5a7147",
      "tree": "c5d23c7dcb91c70e21ca3fe2f2c565850dcd0450",
      "parents": [
        "22dddc9fab9f48a242004ed96ccdd8f1c5c91a71"
      ],
      "author": {
        "name": "Sergei Nikulov",
        "email": "sergey.nikulov@gmail.com",
        "time": "Wed Feb 11 16:55:22 2015 +0300"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Feb 15 00:04:46 2015 +0100"
      },
      "message": "Use Boost C++ \u003e\u003d 1.53.0\n"
    },
    {
      "commit": "a0c5ab711ef47142ca8abb55bc1d4ba139ef8129",
      "tree": "52241c0071180e4e5e3fdb54b9cb6afe9a3018de",
      "parents": [
        "208738a6e34c7153908bad77210c6d194ea9d3ab"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sun Feb 01 00:27:12 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Feb 02 22:06:39 2015 +0100"
      },
      "message": "THRIFT-2971 - C++ test and tutorial parallel build is unstable\n"
    },
    {
      "commit": "208738a6e34c7153908bad77210c6d194ea9d3ab",
      "tree": "7197477758e3ac578e930d75afa586edbe456af1",
      "parents": [
        "1abd746b9cda67bf7a3f6d246c4181dcac515308"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sun Feb 01 00:27:22 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Feb 02 22:04:29 2015 +0100"
      },
      "message": "THRIFT-2972 - Missing backstash in lib/cpp/test/Makefile.am\n"
    },
    {
      "commit": "8016af800ff19e2b67f691453c573f3d8f34211d",
      "tree": "78feacf99ca9ae19f6674fe47a28348ee2a53979",
      "parents": [
        "1d30558c8c09d08a60f6ddc602b6994cfc9f74b3"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Fri Jan 02 23:14:22 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Jan 04 16:50:59 2015 +0100"
      },
      "message": "THRIFT-2924 TNonblockingServer crashes when user-provided event_base is used\n"
    },
    {
      "commit": "c444fb581d2157c260f36db091a7cdd4511c6e32",
      "tree": "2cd9f0a1af9b77bf82d24e0330bb91202ebfa730",
      "parents": [
        "5c10fd8cb146181e1c835787167812fcf1cbf169"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Fri Jan 02 23:16:55 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Jan 03 10:08:09 2015 +0100"
      },
      "message": "THRIFT-2925 CMake build does not work with OpenSSL nor anything installed in non-system location\n\nThis diff fixes them by correcting invalid CMake variable names:\n* OPENSSL_... rather than OpenSSL_...\n* LIBEVENT_... rather than Libevent_...\n* Boost_INCLUDE_DIRS rather than Boost_INCLUDE_DIR\n* LIBEVENT_INCLUDE_DIRS rather than LIBEVENT_INCLUDE_DIR\n* ZLIB_INCLUDE_DIRS rather than ZLIB_INCLUDE_DIR\n\nNote:\n* OPENSSL_INCLUDE_DIR is correct (rather than ..._DIRS)\n* Boost_INCLUDE_DIR exists and actually works for most cases but\n  Boost_INCLUDE_DIRS is the one desinged to be included\n\nAlso, library headers are now included as SYSTEM headers.\n"
    },
    {
      "commit": "4461a2fc16098227e850d689236b3b1bae6650da",
      "tree": "75bb57ece5a897f810c6b94c1769598d95bcc32b",
      "parents": [
        "2ac3a3c821dc35c3d7cd06978bc1bcfa5453951b"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Dec 23 18:22:54 2014 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Dec 23 18:22:54 2014 +0100"
      },
      "message": "THRIFT-2910 libevent is not really optional\nClient: C++\nPatch: Nobuaki Sukegawa \u003cnsukeg@gmail.com\u003e\n\nThis closes #337\n"
    },
    {
      "commit": "6622877a09a1ec6d38132bcdc9ac9a856d1c3931",
      "tree": "9e87f1f75b6f3644b2d3f757f8725a7622d26f22",
      "parents": [
        "6304a5341459eaa33e64aea80e0d0cc7d1b0b765"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sun Dec 07 21:45:33 2014 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 21 16:36:47 2014 +0100"
      },
      "message": "THRIFT-2098 Add support for Qt5+\n"
    },
    {
      "commit": "6304a5341459eaa33e64aea80e0d0cc7d1b0b765",
      "tree": "f12b235af930348a7db05246b80ef97d16a4c749",
      "parents": [
        "2825664f25e084a922462c77f496d215e41251a9"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Thu Dec 18 01:30:58 2014 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 21 16:36:46 2014 +0100"
      },
      "message": "THRIFT-2903 Qt4 library built with CMake does not work\n"
    },
    {
      "commit": "2825664f25e084a922462c77f496d215e41251a9",
      "tree": "884bad4f0115400618411879ce6f559c33f99088",
      "parents": [
        "051ea1cf2fe202deb2078017185a1a5b1c9d8cb7"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Tue Dec 16 03:24:37 2014 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 21 16:36:46 2014 +0100"
      },
      "message": "THRIFT-2893 CMake build fails with boost thread or std thread\n\nFollowing changes are made to fix the build\n* Add USE_..._THREAD compiler definitions correctly\n* Link to boost_thread and boost_system when configured with boost thread\n* Link to pthread if platform is posix and std thread is used\n* Use PlatformThreadFactory in test code\n"
    },
    {
      "commit": "ec8d8778b51341a7c661f05e3e84465f437fd006",
      "tree": "b90aaf51bdd0058a09efe1a8d16f93b411278eea",
      "parents": [
        "6af074e4194f4568739c3dd7176bb23b8b18d150"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Sat Dec 20 12:19:00 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Sat Dec 20 12:50:30 2014 +0100"
      },
      "message": "THRIFT-2906 - linking with boost_unit_test_framework made more portable\n\nClient: C++\nPatch: Jon Parise\n\nBOOST_TEST_LDADD Makefile variable added and should be used when linking\nwith boost_unit_test_framework\n\nThis closes #333\n"
    },
    {
      "commit": "d5f87e1f2135f51d6b9ab019f23891f3b1aeceec",
      "tree": "48e0f0a6fb574e65053e3f4d61e642a6338d23b9",
      "parents": [
        "a195a2574ef9729da9be65283d29b87e39e8ebcb"
      ],
      "author": {
        "name": "Pascal Bach",
        "email": "pascal.bach@siemens.com",
        "time": "Fri Dec 12 15:59:17 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Dec 13 22:02:29 2014 +0100"
      },
      "message": "CMake: Add CMake support for Thrift libraries\n\nCurrently the following libraries are supported:\n- C++\n- C_Glib\n- Java (using Ant wrapper)\n\nThe compilers CMake file is adjusted to work with the new global CMakeLists.txt file.\n\nSigned-off-by: Roger Meier \u003cr.meier@siemens.com\u003e\nSigned-off-by: Pascal Bach \u003cpascal.bach@siemens.com\u003e\nAlso-by: Sergei Nikulov \u003csergey.nikulov@gmail.com\u003e\n"
    },
    {
      "commit": "d0d7a6558112b2abe9dd21ef562d7de8e2ea7d58",
      "tree": "50881b9355fb8ca0485b52074851a53d96d32c20",
      "parents": [
        "71067a80908af91e73aac5dc31d672f13085dabd"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sun Dec 07 21:36:51 2014 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 07 17:00:02 2014 +0100"
      },
      "message": "THRIFT-2838 TNonblockingServer can bind to port 0 (i.e., get an OS-assigned port) but there is no way to get the port number\n"
    },
    {
      "commit": "9db4b51b667e3d442c30c5bc06fa07bc96ef191b",
      "tree": "f352cb36504d6683a7390207e76a13e49f90315c",
      "parents": [
        "6794698a12b32d15e2bb7c627d813514c41be0b2"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Dec 04 23:32:52 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Dec 04 23:32:52 2014 +0100"
      },
      "message": "THRIFT-2876: C++ - tests: coping __isset structure in copy constructor\n\nClient: C++\nPatch: Nobuaki Sukegawa\n\nTest verifies THRIFT-2526\nThis closes #303\n"
    },
    {
      "commit": "3b5dacba44e4fa5c07c8b828d2f65215f9c91e34",
      "tree": "56fb134a0cd9cadbdd034af8de6ffdb31ae50ef8",
      "parents": [
        "eab29a0da9eb775bb7e1e7cff6b4eeaecf237151"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Mon Nov 24 10:55:31 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Mon Nov 24 10:55:31 2014 +0100"
      },
      "message": "THRIFT-2849: spelling errors fixed using codespell tool\n\nClient: All\nPatch: Anatol Pomozov\n\nThis closes #281\n"
    },
    {
      "commit": "16a23a6618754a5a87aeb8df99a72516b0272fb3",
      "tree": "3d3a5250cc06e9010c0e0bef5eed4454a3c6be18",
      "parents": [
        "240120c8434b49d1f76d207aff4e3530d3ada14b"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Nov 13 15:33:38 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Tue Nov 18 11:39:10 2014 +0100"
      },
      "message": "THRIFT-2729: C++ - .clang-format created and applied\n\nClient: C++\nPatch: Konrad Grochowski\n\nmake style command added\n"
    },
    {
      "commit": "240120c8434b49d1f76d207aff4e3530d3ada14b",
      "tree": "98cdcc1834ff0d96ef40fe4e927aa607af5c578e",
      "parents": [
        "74260aa9099c3bb209bc8e524b0e8ba603f62c41"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Tue Nov 18 11:33:31 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Tue Nov 18 11:33:31 2014 +0100"
      },
      "message": "Revert \"THRIFT-2729: C++ - .clang-format created and applied\"\n\nThis reverts commit 74260aa9099c3bb209bc8e524b0e8ba603f62c41.\n"
    },
    {
      "commit": "74260aa9099c3bb209bc8e524b0e8ba603f62c41",
      "tree": "07ff24e0bed1f74da57e56feb38ea6bae063629c",
      "parents": [
        "ca7e97e0423e785bd7a6b7b8400e67897975e7f6"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Nov 13 15:33:38 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Tue Nov 18 10:02:08 2014 +0100"
      },
      "message": "THRIFT-2729: C++ - .clang-format created and applied\n\nClient: C++\nPatch: Konrad Grochowski\n\nmake style command added\n"
    },
    {
      "commit": "8c12b19eb7645dc9f8a9996d6d5d3e3a0a57fa05",
      "tree": "29bfad4d83b9f6bd0d948530c8bcc4af237060c3",
      "parents": [
        "e38f1e2dc2aa5a3c232c54400a5609074f7c2476"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Fri Nov 14 16:49:39 2014 -0800"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Sat Nov 15 12:57:23 2014 +0100"
      },
      "message": "THRIFT-2827: C++ - Remove unused tr1/functional include from ProcessorTest\n\nClient: C++\nPatch: Aiden Scandella\n\nThis closes #267\n\nInclude was unused yet was causing compilation problems on platforms\nwithout c++11 tr1\n"
    },
    {
      "commit": "b3f5ffc42d4c52e4a76ff429411164d27fb65b22",
      "tree": "c52d420b92e59bdd9e2b1cce94f5f808cc7283f7",
      "parents": [
        "cc092b37c8665384f2f7cb60d184a44f59ac3ba3"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Nov 06 19:32:59 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Nov 06 19:32:59 2014 +0100"
      },
      "message": "THRIFT-2801: cpp - compilation warnings removed from test suite\n\nClient: C++\nPatch: Konrad Grochowski\n\nUnused parameters mostly\n"
    },
    {
      "commit": "6f28c04560e69b455932efe183ed3b00ade49c70",
      "tree": "b5a8dcae9449dc836d0b11d2e6513bbd8353fdb2",
      "parents": [
        "b5fd81658a0be1c88a93f31bc9745caae1f1331f"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Nov 01 20:31:44 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Nov 01 20:31:44 2014 +0100"
      },
      "message": "cpp: fix automake dependencies\n"
    },
    {
      "commit": "a5bf1a1ff05d2e49b80b999cb8f111e0c8691288",
      "tree": "681f046489464887470be58f7a30261995457351",
      "parents": [
        "81a1f996bc055c6833c829beaf9e5549db2a774d"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 22 23:26:01 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 22 23:26:01 2014 +0200"
      },
      "message": "cpp: fix automake dependencies and make ProcessorTest.cpp compilable again\n"
    },
    {
      "commit": "81a1f996bc055c6833c829beaf9e5549db2a774d",
      "tree": "e5ffeeb97432f80d7b81eb185cc806782590d1d8",
      "parents": [
        "b006a5078339d125e62919bcc76956c9849000af"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 22 14:09:43 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 22 14:09:43 2014 +0200"
      },
      "message": "THRIFT-2602 fix missing dist files\n\n- add automake 1.13 dependency to configure.ac and doc\n- use serial-tests instead of .NOTPARALLEL (introduced by THRIFT-1829)\n\nPatch: Roger Meier\n"
    },
    {
      "commit": "cb0754db1e73e7ea347aae07e0ef1de9792ef99e",
      "tree": "6a66388dd8d562d86bd1a227475e7d4a2976185e",
      "parents": [
        "9b0c47f77e48d3972d275112e5a8cf1ff05d65be"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Oct 21 21:28:04 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Oct 21 21:28:04 2014 +0200"
      },
      "message": "THRIFT-2784 Eliminate compiler warnings in generated C++ code\n\nremove unused MyEnum5 and add -pedantic to lib/cpp/test/Makefile.am\n"
    },
    {
      "commit": "ec300e33d49bc57d8cc3b744ea16e5af615c8f94",
      "tree": "190f770232414f8b8e3eea94fb7a87a11d24aa43",
      "parents": [
        "f31eba9d459bb927be3af7f608a3c4e8cd0174e0"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 13 02:13:35 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 13 02:13:35 2014 +0200"
      },
      "message": "THRIFT-1462 add more strict compiler flags\n\nPatch: Roger Meier\n"
    },
    {
      "commit": "79f988c27ac97b7a89e6c78a64da2f3a2f65d916",
      "tree": "46358895d7630b0fd10590068450bef9ef151320",
      "parents": [
        "aaa8947f3a149d38dd4bfd395573860c2f18ea93"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:42:54 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:42:54 2014 +0200"
      },
      "message": "THRIFT-2768: Whitespace Fixup\nClient: General (Makefile.am)\nPatch: Jens Geyer\n\nReverted makefile.am - tabs are not optional there\n"
    },
    {
      "commit": "aaa8947f3a149d38dd4bfd395573860c2f18ea93",
      "tree": "af4b000fca7e39c9b5e88b35fbc471b6138749c4",
      "parents": [
        "d5436f5cf7a100d89abb3d125d8f241ca7dc925e"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:22:28 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:30:38 2014 +0200"
      },
      "message": "THRIFT-2768: Whitespace Fixup\nClient: General (Makefile.am, *.thrift)\nPatch: Jens Geyer\n\nDocTest.thrift has NOT been changed, the trailing whitespaces are part of the test case.\n"
    },
    {
      "commit": "293a40e960d87d83ec57f89738c3ec174981335b",
      "tree": "94f6a64433f82a0c93385b475baae446937399a7",
      "parents": [
        "3a724e37d49be1990fe2432c4ee7751653336c65"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Sep 04 17:28:17 2014 +0400"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Tue Sep 30 12:04:02 2014 +0200"
      },
      "message": "THRIFT-2745: c++ - fixed some unit test compilation on windows\n\nClient: C++-Library\nPatch: Sergei Nikulov\n\nunist.h removed\nTHRIFT_SLEEP_USEC used instead of usleep\nERROR variable renamed to TEST_TOLERANCE\n\nThis closes #207\n"
    },
    {
      "commit": "1ff4a97a45a78e4afe88660927fb798c18336f7d",
      "tree": "250015e1adfffc3f0f35c2ca7a3fa8234e4d5936",
      "parents": [
        "eb8e5ad87fc8d715a40416f789774da2856a6d69"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Fri Sep 19 23:57:57 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 29 22:05:49 2014 +0200"
      },
      "message": "THRIFT-2716 - removed warnings from some Makefile.ams\n"
    },
    {
      "commit": "a86886e77d355ec7523f0b9041f9f0ac03e4dd33",
      "tree": "0538fd9777d28924b4cccd54919744afeb4355fe",
      "parents": [
        "3e8d9272cecfb6dcfe7a03faafdba295c7d1838e"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Sep 17 22:25:48 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Sep 17 22:36:00 2014 +0200"
      },
      "message": "THRIFT-2704 - compiler: T_ONEWAY type used for oneway methods instead of T_CALL\n\nPatch: Konrad Grochowski\n\nThis closes #216\n"
    },
    {
      "commit": "b3e5ebe1e4fdbbc34df5d4dabcdd15f25a7ee2fd",
      "tree": "e321d71c0d14068c286969896202bd8919a9e465",
      "parents": [
        "2de7e198998adeabbc7a31ecf2c1f06fc0304834"
      ],
      "author": {
        "name": "name",
        "email": "email",
        "time": "Fri Sep 12 11:15:24 2014 +0200"
      },
      "committer": {
        "name": "name",
        "email": "email",
        "time": "Fri Sep 12 11:15:24 2014 +0200"
      },
      "message": "THRIFT-2513 clean up enum value assignment\nClient: Compiler (General)\nPatch: Konrad Grochowski\n\nFixes the failing test with pure_enums. For details, see JIRA ticket.\n"
    },
    {
      "commit": "089bcd3f8cd643091cd29126b236271c069b18e9",
      "tree": "6368b6fabdffc9f98cdf9a28a1496754ec637837",
      "parents": [
        "684ccab5e72cddacda7a1fc2c1a80f23e1bc3163"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 11 22:36:41 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 11 22:36:41 2014 +0200"
      },
      "message": "THRIFT-1040 Can\u0027t end typedef lines with a semicolon\nClient: Compiler (General)\nPatch: Konrad Grochowski\n"
    },
    {
      "commit": "1235ee3f2a65694793a3ef0c7c47d0245b293e52",
      "tree": "3cc98574f76e44f0e4d41324834af457b167bf24",
      "parents": [
        "4d223c6fee2fc6a37217d506c0879f7eab85541a"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Sep 06 14:58:09 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Sep 06 14:59:51 2014 +0200"
      },
      "message": "Fix EnumTest (part 2)\nPatch: Konrad Grochowski, as part of his pull request 209\n"
    },
    {
      "commit": "4d223c6fee2fc6a37217d506c0879f7eab85541a",
      "tree": "5bce4baaa7b53fb01ed73dfd7f22eaddf34cccca",
      "parents": [
        "3e8454cc71210a7298aa91d7c2042d40a3b46feb"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Sep 05 22:31:39 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Sep 05 22:31:39 2014 +0200"
      },
      "message": "FIX: wrong include path\n"
    },
    {
      "commit": "ae0b22cc29a329f5e094c37d8fff166d01b6fab5",
      "tree": "a8530b060830bfbc1e2d989f345d406e062d0ddc",
      "parents": [
        "067779bbda32412ff67a777582465579a9f18c84"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 04 23:04:21 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 04 23:40:14 2014 +0200"
      },
      "message": "THRIFT-2513 clean up enum value assignment\nPatch: Dave Watson\n\nThis closes #88\n\nSummary:\nClean up how enum values are handled if an integer value is not\nexplicitly specified in the thrift file.\n\nFor example, the following used to be a compile error, but\nworks now:\n\n  enum MyEnum {\n\tSOMEVALUE\n  }\n  struct MyStruct {\n\t1: MyEnum e \u003d SOMEVALUE\n  }\n\nThis change also cleans up some of the error handling with out-of-range\nvalues.  Previously thrift simply issued a warning for enum values that\ndidn\u0027t fit in an i32, but serialized them as i32 anyway.  Now\nout-of-range enum values result in a compile failure.\n\nTest Plan:\nIncluded a new unit test to verify the assignment of enum values.  I\nalso verified that g++ makes the same enum value assignments when\ncompiling these enums as C++ code.\n"
    },
    {
      "commit": "b3f6ea100fae38a568e1844923c4c945cab5b536",
      "tree": "92acbdf1ffda626fdd60510ab1c8d10fea5e0575",
      "parents": [
        "d0bd17e7263cb8f92c21d3e1dad2ee5b5e9f79e5"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Tue Sep 02 16:00:47 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Sep 03 23:41:32 2014 +0200"
      },
      "message": "THRIFT-2067 C++: all generated objects provide ostream operator\u003c\u003c\n"
    },
    {
      "commit": "bee7b738025ea7f2fa861a9567570ca502468c46",
      "tree": "6b07ed06afb37b29a74741ca19522c0fde8d079c",
      "parents": [
        "c0ff5561fefa4b690d6c72ac7d792f9a1e480bda"
      ],
      "author": {
        "name": "Alan Dunn",
        "email": "amdunn@gmail.com",
        "time": "Sat Jul 26 13:48:43 2014 -0500"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Jul 26 22:13:55 2014 +0200"
      },
      "message": "Add unit test for OpenSSL manual initialization\n\nThis test checks whether Thrift leaves OpenSSL functionality available\nafter the last TSSLSocketFactory is destroyed when manual\ninitialization is set.  It uses the EVP_get_digestbyname function as\nan example function that requires OpenSSL initialization to work\nproperly.\n\nSigned-off-by: Alan Dunn \u003camdunn@gmail.com\u003e\nSigned-off-by: Roger Meier \u003croger@apache.org\u003e\n"
    },
    {
      "commit": "58993d120578ce36fb88f7af06c06d2eba213b65",
      "tree": "953b7498dfe4f47a6df617597c789ae3d2561827",
      "parents": [
        "ad67aa0acf0bb75ceb650e61626e9f51cb28549f"
      ],
      "author": {
        "name": "henrique",
        "email": "henrique@apache.org",
        "time": "Tue Jun 24 16:08:22 2014 +0200"
      },
      "committer": {
        "name": "henrique",
        "email": "henrique@apache.org",
        "time": "Tue Jun 24 16:08:22 2014 +0200"
      },
      "message": "THRIFT-2577 C++ TFileTransport missuse of closesocket on windows platform\nPatch: suuyaoo\n\n    This closes #142\n\n---\n"
    },
    {
      "commit": "ad67aa0acf0bb75ceb650e61626e9f51cb28549f",
      "tree": "385dcdc75cea6f253c541c254baa063d8b9ec25b",
      "parents": [
        "bd05f9e06c594683c650feabf240b24834a29c5a"
      ],
      "author": {
        "name": "henrique",
        "email": "henrique@apache.org",
        "time": "Tue Jun 24 15:45:41 2014 +0200"
      },
      "committer": {
        "name": "henrique",
        "email": "henrique@apache.org",
        "time": "Tue Jun 24 15:45:41 2014 +0200"
      },
      "message": "THRIFT-2581 C++ TFDTransport destructor should not throw\n"
    },
    {
      "commit": "63fcb7e756a88adca994111e1d9bc0c3c5186c36",
      "tree": "df6221743c3ae019a0b75ca49ebf8e99fc64c229",
      "parents": [
        "746952efc182d0b391539aeaec96a0cc6183bd40"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@bufferoverflow.ch",
        "time": "Sun Jun 15 21:48:59 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@bufferoverflow.ch",
        "time": "Sun Jun 15 21:51:32 2014 +0200"
      },
      "message": "THRIFT-2520 cpp:cob_style generates incorrect .tcc file\n\nThis closes #118\n\ncommit 22d266eefaf16f21ffd0ad193a6a54403de65197\nAuthor: N.Sukegawa \u003cnsukeg@gmail.com\u003e\nDate: 2014-05-07T19:36:43Z\n"
    },
    {
      "commit": "73b58a24699eb6b9d43ad05f8a19cd084979c31a",
      "tree": "118dac498d334581d06779a00192312a29ac7e51",
      "parents": [
        "20aeba3e384f6590770dc3b4343e6d5dfcbd3ce1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 11 17:39:34 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 11 17:39:34 2014 +0200"
      },
      "message": "THRIFT-1771 \"make check\" fails on x64 for libboost_unit_test_framework.a\n\nupdate ax_boost_base.m4 from http://www.gnu.org/software/autoconf-archive/\nPatch: Roger Meier\n"
    },
    {
      "commit": "885c6791235e011794a0b65c00f1d9fdf3d233e3",
      "tree": "f752bf49fa5157300f63677c7210ff90bfde8747",
      "parents": [
        "0a7c69cfe643fde10df27f6ddf24a67d36f8fb12"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 21:31:55 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 21:31:55 2014 +0200"
      },
      "message": "THRIFT-2471 Make cpp.ref annotation language agnostic\nClient: compiler general\nPatch: Dave Watson\n\nThis closes #113\n\ncommit 52b99af4ee1574253dcb77933d76a7ebb2d830df\n Author: Dave Watson \u003cdavejwatson@fb.com\u003e\n Date: 2014-04-23T20:05:56Z\n\nchange cpp.ref to \u0026\n\ncommit 3f9d31cc6140367529fd8f7b1b67056ec321786f\n Author: Dave Watson \u003cdavejwatson@fb.com\u003e\n Date: 2014-04-23T21:50:29Z\n\nRecursion depth limit\n\ncommit 61468e4534ce9e6a4f4f643bfd00542d13600d83\n Author: Dave Watson \u003cdavejwatson@fb.com\u003e\n Date: 2014-04-25T19:59:18Z\n\nshared_ptr for reference type\n"
    },
    {
      "commit": "524b924f615c9227d1fe5ae8db24e7e0707c15ff",
      "tree": "ac967457fb16301f0eb5d93e050b1a52db859c04",
      "parents": [
        "e0e831683897ea4b786eebabd0cea77659d77150"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Wed Apr 09 14:53:03 2014 -0400"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Wed Apr 09 14:55:54 2014 -0400"
      },
      "message": "Thrift-2421:Tree/Recursive struct support in thrift\nClient: compiler\nPatch: Dave Watson\n\nPatch to go along with pull request 84 to fix missing destructors.\n\nGithub Pull Request: This closes #98\n----\ncommit f4daec9b0af386e8f6e9e66fb688aab8cd949fdc\nDate:   2014-04-09T17:33:18Z\n\n    Also generate destructor for _result, presult, args, pargs\n"
    },
    {
      "commit": "e0e831683897ea4b786eebabd0cea77659d77150",
      "tree": "f0a7e4bbd410047e6022657d568abc593013b6d0",
      "parents": [
        "bea3144a456a635c7a2e84c92277c5ad27f892d6"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Apr 08 22:45:01 2014 -0400"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Apr 08 22:45:01 2014 -0400"
      },
      "message": "THRIFT-2421: Tree/Recursive struct support in thrift\nClient: cpp\nPatch:  Dave Watson\n\nGithub Pull Request: This closes #84\n----\ncommit b6134cedf292845e5ed01052919894df6b561bf2\nDate:   2014-03-20T18:12:04Z\n\n    Recursive structs support in parser\n\n    A common complaint is that you can\u0027t express trees or other recursive structures in thrift easily - unlike protobufs. This diff loosens up the parser to allow using structs before they are defined (and uses typedef as a forward declaration).\n    This diff is actually enough to make recursive types work for some dyamic languages (I tried php, works out of the box!)\n\n    Other languages will need forward declarations, or ways to box types, to make this work (i.e. C++ needs both forward decls and a way to express structs as pointers)\n"
    },
    {
      "commit": "22888ce3a84f38c1478f38ad0d1ff3ed7fdf5f39",
      "tree": "ebfc141e5461a988cec980658b73a0800f694934",
      "parents": [
        "2f51f327e3b6d22e578a84a037d1a9094c64dd9b"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Feb 09 11:31:02 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Feb 09 11:31:02 2014 +0100"
      },
      "message": "THRIFT-2352 msvc failed to compile thrift tests\n\nPatch: Sergei Nikulov \u0026 Roger Meier\n"
    },
    {
      "commit": "09cc5e7728cd4bc197e33a02e2fd263407d4a87b",
      "tree": "5907de06da56ac22c01eede5cbc740da0bbb1914",
      "parents": [
        "6635058e8be97721447ec8e202306226fa8187ca"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Jan 15 10:13:18 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Jan 15 10:13:18 2014 +0100"
      },
      "message": "THRIFT-2316 cpp: TFileTransportTest is to restrictive\n"
    },
    {
      "commit": "5d02b80e9cde00280cbac5c17cc3843806ec9436",
      "tree": "4b12b2e6816154fdbd2d6273732ca90a5ae2904d",
      "parents": [
        "05f37f1917bfa89d5862e4e45896bc6e28d8fa51"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Jan 07 21:42:01 2014 -0500"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Jan 07 21:42:01 2014 -0500"
      },
      "message": "Thrift-2029:Port C++ tests to Windows\nClient: cpp\nPatch: Ben Craig\n\nUpdates cpp tests to work with windows and c++11\n"
    },
    {
      "commit": "ba406d3a022967e6189249bd8e805f0eb9ac2921",
      "tree": "24bf3bcde0c05872664bdd9b0bde148d082d5dad",
      "parents": [
        "1075a6f67b63b96be455496f50624433ff73c449"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jul 15 22:41:34 2013 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jul 15 22:41:34 2013 +0200"
      },
      "message": "THRIFT-2089 Compiler ignores duplicate typenames\nPatch: Randy Abernethy\n"
    },
    {
      "commit": "967600ef4f09445d9dbb6654dca8d235d9d65f5b",
      "tree": "151a45e09862dacbfc2f0024d27e265318b9207f",
      "parents": [
        "0fd47dab1ba4bcb13c2a871ec4e0527c2c6c06bb"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 03 22:39:53 2013 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 03 22:39:53 2013 +0200"
      },
      "message": "THRIFT-1850 make check hangs on TSocket tests in TransportTest.cpp\nPatch: Randy Abernethy\n"
    },
    {
      "commit": "c095919087adc9508300ec6e9cdcd58cf147a207",
      "tree": "9a7d224c815965c253f5e561943cc603b1eaa437",
      "parents": [
        "e3da768367d0a3e013a00a5a365e58aed3bffa32"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Jan 15 23:20:19 2013 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Jan 15 23:20:19 2013 +0100"
      },
      "message": "THRIFT-1829 cpp unit tests fail to build using multiple make jobs\nPatch: David Rennalls and Roger Meier\n"
    },
    {
      "commit": "7c7a5e05ba5dd7ddb30b2787da7ec52f3b9e8f6f",
      "tree": "954c1aaf07155d1c37f3836cdcac7e3b354feb30",
      "parents": [
        "510ecae94668b689dcea2061c49a66a34fb66e1e"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Thu Oct 11 00:29:11 2012 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Thu Oct 11 00:29:11 2012 +0000"
      },
      "message": "Thrift-1721:Dist broken due to 0.8.0 to 0.9.0 changes\nClient: build\nPatch: Jake Farrell\n\nFix dist build to create the 0.9.0 release\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1396880 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a32ac7a010cf2f01b0f81299af42fb777e73e81e",
      "tree": "3b80058f2408f528152088d697c02efdce3ede4b",
      "parents": [
        "271e47a74debf3e504f3ee317c135e0453e3841b"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Oct 09 19:59:35 2012 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Oct 09 19:59:35 2012 +0000"
      },
      "message": "Thrift-1718:Incorrect check in TFileTransportTest\nClient: cpp\nPatch: Diwaker Gupta\n\nFixes cpp tests\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1396258 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4cb8e40d8abbb480065461ac3fd27280cb9a53f6",
      "tree": "49ef09afeabd71ce03198dc1c6bab83bb9c70808",
      "parents": [
        "83042b9078311d9bd166f8690a1feed4949b1c31"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 27 18:05:16 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 27 18:05:16 2012 +0000"
      },
      "message": "THRIFT-1612 Base64 encoding is broken\nPatch: Andrew Cox\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1343074 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2d59b9e2ad05113410a7e505b052512004090261",
      "tree": "0cf1af5daa4b6429d7af422bb07f5d03805e8ff4",
      "parents": [
        "b6617836d4bd1ff4788bd63eea4cec1378d14c3b"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed May 23 19:40:40 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed May 23 19:40:40 2012 +0000"
      },
      "message": "THRIFT-1336 thrift: added server and processor test code\nrevert partly: disable processor test, it breaks the builds\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1341996 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "970c86a5f2e6612fc7fbf9623655f91040cab81a",
      "tree": "c3f5f6b1d8d6ed9ceafca2bd255a90302e7638d3",
      "parents": [
        "94bb7f26f6d9b5bf1106b1aeb4b983e453f50047"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Thu May 17 05:41:09 2012 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Thu May 17 05:41:09 2012 +0000"
      },
      "message": "Thrift-1607:Incorrect file modes for several source files\nClient: build\nPatch: Andrew Cox\n\nFile modes of some non-script text files (e.g. .xml, .java, .cc) in the source tree include execute permissions (because these files have the svn:executable property).\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1339492 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "dd16f0538b14109a8ecc710bccd5c02cfa18b313",
      "tree": "8f6749d9e4fbd276c10cfe3211d6bfe5a227f6cf",
      "parents": [
        "4f260f7a5f65971b407947398bbc2fed79064919"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 14:19:48 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 14:19:48 2012 +0000"
      },
      "message": "THRIFT-1336 thrift: added server and processor test code\n\nlast commit was wrong! otherway around!\ndisable concurrency instead of processor_test ... does not run properly on build slaves\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1337177 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4f260f7a5f65971b407947398bbc2fed79064919",
      "tree": "e1e642fc63f6ef2690b6adeb0ea04b2fd54ab8cf",
      "parents": [
        "6bb0a7a34a38484132e044bb8d09830198135473"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 13:50:11 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 13:50:11 2012 +0000"
      },
      "message": "THRIFT-1336 thrift: added server and processor test code\n\ndisable processor_test ... does not run properly on build slaves\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1337162 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2b1a5289a7aa61377f2d20ee8dfffd72310cc886",
      "tree": "a9ce76cdd0eb464f284666080f8378d50a9f0ce6",
      "parents": [
        "96efc26a3cc14e5b3a8a3f7c08cc2082ed42d197"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 10:12:39 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 10:12:39 2012 +0000"
      },
      "message": "THRIFT-1336 thrift: added server and processor test code\n\nmove the tests from src to test:\nlib\\cpp\\src\\thrift\\concurrency\\test to lib\\cpp\\test\\concurrency\nlib\\cpp\\src\\thrift\\processor\\test to lib\\cpp\\test\\processor\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1337098 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "33eaa0f10038d427d6f62d72235af314bc27b930",
      "tree": "4a1990f23e6b839741d93b515e35b67f39c45378",
      "parents": [
        "49ff8b123a0b79aa0ec5a4a1baa288e7cbfdcede"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Apr 13 09:13:13 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Apr 13 09:13:13 2012 +0000"
      },
      "message": "THRIFT-1552 Thrift (cpp) include files shouldn\u0027t require adding \"thrift\" to the compilers include path.\n\nroger: some additional fixes\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325677 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "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": "02c827bcfe18c1ddb7450741a88bcb753eb1a063",
      "tree": "eecbcc04b2c256582bb1873464c81ac1a32a06f4",
      "parents": [
        "d8f50f3ffedf020db94de9a915481effd9ae5162"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Apr 11 21:59:57 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Apr 11 21:59:57 2012 +0000"
      },
      "message": "THRIFT-1562 Fix issue with TFramedTransport::readSlow\nPatch: Dave Watson\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325034 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f9f01fa1e054ff28d7b8023eeb53cd5ba0ed6b1c",
      "tree": "7cd1d0604894e57fec7a1468c9ddf9619d71dd9a",
      "parents": [
        "6ce2704a14bb109d2d9e29d1b77974f57b2e8636"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Fri Jan 27 04:48:26 2012 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Fri Jan 27 04:48:26 2012 +0000"
      },
      "message": "THRIFT-1394:Treatment of optional fields is not consistent between C++ and Java\nClient: cpp\nPatch: Diwaker Gupta\n\nIn CPP, all optional fields are guarded by the isset helper struct. On Java, however, the generated code takes advantage of nullable types: for containers, structs, exceptions, enums, and, notably, strings, the generator elides explicit use of an \"isset\" bit vector and instead emits checks of the form \"field null\". This leads to varying behavior between the two languages: an optional string field with a default value will have {{isset[fieldid]}} false on C, but the equivalent test in Java will be true.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1236529 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "12d705390d24359900256ceda15e00de4df4a6cd",
      "tree": "62922ea60d20e328b29a907f9040f40c4da57553",
      "parents": [
        "a99027c708f3d920db68d72966e5bd221b7440e1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Dec 14 23:35:28 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Dec 14 23:35:28 2011 +0000"
      },
      "message": "THRIFT-1461 Recent TNonblockingServer changes broke --enable-boostthreads\u003dyes, Windows\nPatch: Alexandre Parenteau\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1214547 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ea949fbaf915f04b584efe24a9706586b53193a5",
      "tree": "0f7fb9a50ef98f34bf723a7372730bd9ea83ffac",
      "parents": [
        "3371925d1804e6b7a4e94ef928ea897ded5e09fb"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Dec 13 20:02:33 2011 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Dec 13 20:02:33 2011 +0000"
      },
      "message": "Thrift-1462: add more strict compiler flags\n\nReverting patch due to it breaking compilers older than 4.4 (os x, centos 5.x, etc)\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213901 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ca10fd4a51b218accd2f616b89ce76464f7e847a",
      "tree": "eb661b2932f30eea6eb6dd20b4bc11787d269131",
      "parents": [
        "611f90cf9ee177367d6b1f53d2ebb8493b44eec1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Dec 12 22:00:23 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Dec 12 22:00:23 2011 +0000"
      },
      "message": "THRIFT-1462 add more strict compiler flags(-Wall -Wextra -std\u003dc++0x -pedantic)\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213459 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "611f90cf9ee177367d6b1f53d2ebb8493b44eec1",
      "tree": "36686bf9547142149aefdf8f34776ae9940eaa8b",
      "parents": [
        "3fc481961778b1ec5faebd2b42d9a15d8b875e35"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 11 22:08:51 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 11 22:08:51 2011 +0000"
      },
      "message": "THRIFT-1459 declare shared_ptr as boost::shared_ptr\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213090 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3fc481961778b1ec5faebd2b42d9a15d8b875e35",
      "tree": "e00475324789dd088512606eda83f18bc3a515aa",
      "parents": [
        "1d282a95c604019cc7b4f885738daa61b7974ca4"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 11 21:05:35 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 11 21:05:35 2011 +0000"
      },
      "message": "THRIFT-1272 add subclass of ReadWriteMutex that avoids writer\nstarvation\nPatch: Dave Watson\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213067 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6f7681f91d1cdf41be657978d819d94b6024c434",
      "tree": "4f6a55e55af4cc8fa3c4734a1e6e32dc5e9487b6",
      "parents": [
        "38315786e5c9e972aef50433b401dcff23259cae"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 12:04:28 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 12:04:28 2011 +0000"
      },
      "message": "THRIFT-1361 revert compiler/cpp/src/thrifty.yy change\n\u003d\u003e breaks mingw build\n\u003d\u003e memleak fixes reported by cppcheck\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198347 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "38315786e5c9e972aef50433b401dcff23259cae",
      "tree": "28dc13bba5655cab8c1c12ad67d7e0bd87fbaba6",
      "parents": [
        "1b6153bdd145be14ce2a58cee2858d07ae60b829"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 11:29:41 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 11:29:41 2011 +0000"
      },
      "message": "THRIFT-1361 Optional replacement of pthread by boost::thread\nPatch: Alexandre Parenteau\nrev3\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198339 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2fa9c31e065fc35186c92c5d8b8c078b4f8d5a5f",
      "tree": "16203c4ec7f4496f6112576d79382ce5418e6bb5",
      "parents": [
        "212022cce6f31e363aa80c7b23336727b953d76f"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 05 19:15:53 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 05 19:15:53 2011 +0000"
      },
      "message": "THRIFT-1320 Consistency of configure generated config.h\nPatch: Alexandre Parenteau\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1165400 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9e0f0743f377e59ee2aa21666c18bb3b092661f5",
      "tree": "1a2ad707be026990e5651947ff689b6089896121",
      "parents": [
        "345ecc739ab145f9a0e7c27bbcb4ee72ccd3a86b"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Aug 03 17:36:55 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Aug 03 17:36:55 2011 +0000"
      },
      "message": "THRIFT-1256 Unit Test Logging Output for CI\npass BOOST environment variables to the test suite arguments and create a tests.xml with the results\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1153594 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1ebeffb0d8be47c9e37579d89a39968008df9b2e",
      "tree": "32790faa162ce2371eda8d7ffffbc7cccd4ceef6",
      "parents": [
        "18f1050e71894472ff4ce70fa3b393fa2c77e3cd"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jun 06 18:00:03 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jun 06 18:00:03 2011 +0000"
      },
      "message": "THRIFT-1197 TFileTransportTest.cpp fails on slower machines\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1132712 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cbf87cb89cf0b1e7cd3656262c642209fef235ef",
      "tree": "cbc89a238c96482bc9e0b384cda6459b1f2203a8",
      "parents": [
        "c101092ea742e1252207b6e8f680bf392292c916"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Sun Nov 28 14:34:26 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Sun Nov 28 14:34:26 2010 +0000"
      },
      "message": "THRIFT-916: Commit THRIFT-916_fix_no-overflow.patch -- remove overflow coming from a few constants.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1039885 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af65f1b4781a6f7761617e67f5604413f65ceb8d",
      "tree": "8962eaf103bcd90744cbc4c6d5a3817d91e7f371",
      "parents": [
        "fea49cb8409167636a94e25f5657aeee58587f6e"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Wed Nov 24 21:58:05 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Wed Nov 24 21:58:05 2010 +0000"
      },
      "message": "THRIFT-916: Commit a partial fix for flex-generated code infested with warnings on Mac OS X\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038844 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3b771a10f1b815d5168d244374cddd1014ba3c02",
      "tree": "b317075bdba17f1291f5dfda00d02cb6fe410857",
      "parents": [
        "be87ab28b06323f46835983ce2501b952978bda2"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Nov 17 22:11:26 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Nov 17 22:11:26 2010 +0000"
      },
      "message": "THRIFT-916 compile with -Wall -Wextra without warning on Debian Lenny\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1036250 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "01c5cebfdd0f638f09378e0a735419efc69f3c08",
      "tree": "0df562525cf8ad1953c54d1740d6eca4a97ec0f3",
      "parents": [
        "4f42ef7aa593b20fa17ad542f53c296032955fb7"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 20:35:15 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 20:35:15 2010 +0000"
      },
      "message": "THRIFT-916: Fix warnings in C++ when compiling with -Wall.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1031222 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4f42ef7aa593b20fa17ad542f53c296032955fb7",
      "tree": "bcb1217771ff0bc22c18c0462be2a88ec728a944",
      "parents": [
        "5aaa02166e335d6399c7345bbd8f3d83d4e481fa"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 18:51:42 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 18:51:42 2010 +0000"
      },
      "message": "THRIFT-953: Fix compilation of TransportTest.cpp on Mac (actual tests still fail) and fix boost m4 macros for Mac.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1031148 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0069cc4a298a15c84df5e09e4abebe8ba8a0b8a5",
      "tree": "9721d855a028e67d4fdefa10b31bbb70b7241929",
      "parents": [
        "4c5689269f767670741bc49648d419d4c6a188f1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 13 18:10:18 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 13 18:10:18 2010 +0000"
      },
      "message": "THRIFT-916 no errors on GNU/Linux when compiling with CXXFLAGS\u003d\"-Wall -Wextra -pedantic\"\n\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1022220 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "085a3e7b6045c435bc21442c867c9d3ed8d3bb60",
      "tree": "8f6223017d09011a6f6d8eba49cd2cd041b8ccab",
      "parents": [
        "50e4349463c983aac50d37a071191391f704258a"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 08 21:23:35 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Oct 08 21:23:35 2010 +0000"
      },
      "message": "THRIFT-926 Miscellaneous C++ improvements\n\nchanging single destructor call time limit from 500us to 1000us\nbuild does not fail on busy machines\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1006030 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "109693c82a63b321b540cb3c993d918fc946dfbe",
      "tree": "a8b5942237ebc12d42e61e5888ee5d30fb0327ac",
      "parents": [
        "0a2d81e81614a73590056b4fea7688463df7c80b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:42 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:42 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Convert tests to use boost 1.37\n\nThe boost test framework has changed significantly from boost 1.34 to\n1.37.  Quite a few new features have been added, and some annoying bugs\nhave been fixed.\n\nThis change now builds the thrift tests against boost 1.37, and updates\nthem to use some of the newer features.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005162 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0a2d81e81614a73590056b4fea7688463df7c80b",
      "tree": "f7640d3608c2a2ddcc3cb6508c060ec05b7277df",
      "parents": [
        "e5c435cccf4fdc5650c6127563b3b61de65e1762"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:40 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:40 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Fix inconsistencies in transport read() behavior\n\n- TBufferedTransport::borrow() could block if not enough data was\n  available.  Now it returns NULL immediately in this case, like all\n  other transports.\n\n- TBufferedTransport::read() could block some data was available in the\n  readahead buffer, but not enough to satisfy the request.  It would\n  attempt to call read() on the underlying transport, but this might\n  block.  Now it just returns the remaining data in the readahead\n  buffer.  The caller is responsible for calling read() again to get the\n  rest of the data they want.\n\n- TFrameTransport::read() threw an exception if read() on the underlying\n  transport returned 0 when looking for a frame header.  Now\n  TFrameTransport::read() returns 0, too.  (It still throws an exception\n  if the underlying transport returns 0 after a partial frame or frame\n  header has been read.)\n\n- TFDTransport::read() threw an exception on EINTR.  Now it retries up\n  to 5 times, similarly to the way TSocket::read() behaves.\n\n- TZlibTransport::read() could block when less data than was requested\n  is available.  Now it only calls read() on the underlying transport\n  when it would otherwise have nothing to return.\n\n  This does mean that TZlibTransport::read() now often returns less data\n  than is actually available at the time.  This required updating\n  several of the ZlibTest tests to use readAll() instead of read(),\n  since they previously assumed read() would return all available data.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005161 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e5c435cccf4fdc5650c6127563b3b61de65e1762",
      "tree": "326d1cde9434aa046536f1dee903cb0491729d53",
      "parents": [
        "d4788dfd4ae1bd04a78dc611855f70eb97355af3"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:38 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:38 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Add tests to verify blocking read behavior\n\nAdd tests that check to see whether or not read() and borrow() block\nwhen called with a length larger than the amount of data currently\navailable.\n\nAt the moment, not all of the transports behave the same way.  I believe\nthe desired behavior is:\n\n  When M bytes are available, and 0 \u003c M \u003c N:\n  - read(N): return M bytes immediately\n  - borrow(N): return NULL immediately\n\n  When 0 bytes are available:\n  - read(N): In this case, it is acceptable either to immediately return\n    0, or to block until some data is available.  If the transport\n    blocks, it returns immediately when some date becomes available,\n    even if less than N bytes are available.\n  - borrow(N): return NULL immediately\n\n- The borrow() tests fail when using TBufferedTransport.\n  TBufferedTransport incorrectly blocks until the amount of data\n  requested is available.\n\n- test_read_none_available() fails when using TFramedTransport.\n  Calling read() on a TFramedTransport when no data is available throws\n  an exception instead of returning 0.\n\n- test_read_none_available() fails when using TFDTransport.  This is\n  partly just an artifact of the fact that I use SIGALRM as part of this\n  test.  Unlike TSocket, TFDTransport doesn\u0027t retry after EINTR.\n\n- test_read_part_available() fails when using TZlibTransport around a\n  transport that has blocking read() behavior.  TZlibTransport::read()\n  loops calling read() on the underlying transport.  It should probably\n  break out of the loop and return to the caller as soon as it has\n  uncompressed any data, even if it is less than requested and more\n  might be available.  Once some data has been uncompressed,\n  TZlibTransport cannot risk calling read() again since it might block.\n\nWill commit fixes for these separately.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005160 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d4788dfd4ae1bd04a78dc611855f70eb97355af3",
      "tree": "464850819f658bd7ce70402a44586e53bfd9e53d",
      "parents": [
        "0c025e8f52096f6c9f39b80909b5b1aebf335b03"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:37 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:37 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Test wrapper transports more thoroughly\n\nUpdateS TransportTest so that the wrapper transports\n(TBufferedTransport, TFramedTransport, TZlibTransport) are tested with a\nwider variety of inner transports.  Previously they were only tested\nusing TMemoryBuffer.  Now all other transports are also tested wrapped\ninside each of these transports.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005159 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c025e8f52096f6c9f39b80909b5b1aebf335b03",
      "tree": "a50ae395bae21657a2510d94e22c1e6501112d7a",
      "parents": [
        "65e62d3741e226abf0caf7b7393845ad41779a61"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:36 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:36 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Update TransportTest to test TSocket\n\nMade the TSocket(int fd) constructor public, so TransportTest can create\na connected pair of TSocket transports using socketpair().\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005158 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "65e62d3741e226abf0caf7b7393845ad41779a61",
      "tree": "e4fb8b2f4a8811618b2531c5ef616953e1ece72a",
      "parents": [
        "4f9efdb460a7c54cc55b25f2c6b8955a5fcff229"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:35 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:35 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Reduce default buffer sizes for TransportTest\n\nReduce the default test buffer sizes by about 30x, reducing the time it\ntakes to run TransportTest from about 1 minute to about 2 seconds.  I\nadded a --size-multiplier argument that can be used to adjust the sizes\nof all test buffers, so developers can still run with large buffer sizes\nwhen desired.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005157 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4f9efdb460a7c54cc55b25f2c6b8955a5fcff229",
      "tree": "0c31542a9e504f19b089d4dd27660bedc8ea70f8",
      "parents": [
        "4199377a7c5dbb72679abe9c05c9663e3736a780"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:33 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:33 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Fix bugs in TFileTransport::flush()\n\nPreviously flush() had race conditions that could cause it to return\nbefore all data had actually been flushed to disk.  Now the writer\nmakes sure both buffer queues have been flushed when forceFlush_ is set.\n\nAlso, flush() did not wake up the writer thread, so it normally had to\nwait for the writer thread to wake up on its own time.  (By default,\nthis could take up to 3 seconds.)\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005156 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4199377a7c5dbb72679abe9c05c9663e3736a780",
      "tree": "5bbc4847cec0c637d02b041dbbf6bbdb08447db5",
      "parents": [
        "709b69f14c7c69b83e1752212bf51b4da67db834"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:31 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:31 2010 +0000"
      },
      "message": "THRIFT-926. cpp: TFileTransportTest timing slightly more lenient\n\nSeveral of the TFileTransportTest tests check wall clock time to make\nsure the writer thread processes operations quickly enough, and isn\u0027t\nhanging.  However, this can easily result in false failures if we don\u0027t\nget enough processor time.  This commit makes a few changes to reduce\nthe number of these failures.\n\n- No longer fail if a single destructor call takes more than 500us.\n  We only require 90% of the calls to complete in 500us.  No call may\n  take more than 100ms, though.  With this change, the test passes most\n  of the time now, even while an \"fbmake opt\" task is running in\n  parallel.\n\n- In the flush_max_us tests, make sure the writer thread is started\n  before we start recording timing.  Otherwise, creating the thread\n  could take long enough to throw off the numbers for the first fsync()\n  call.\n\nAlso tested with the pthread_cond_signal() in the TFileTransport\ndestructor commented out, to make sure the test still fails properly\nwhen the destructor takes too long.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005155 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "709b69f14c7c69b83e1752212bf51b4da67db834",
      "tree": "c9f04bd0d15b25832de0b8417d62eda12644d989",
      "parents": [
        "0e0eb354527cecdc22d1c0e6ecba06d7f747e728"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:30 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:30 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Fix destructor behavior of TFileTransport\n\nSet closing_ to true before we wake up the writer thread in the\ndestructor.  This way the writer thread flushes the data and exits when\nit is woken up.\n\nPreviously the writer thread could end up going through 2 full timeout\ncycles before exiting.  The writer thread could wake up, notice it has\nnothing to do since closing_ is not set, and immediately go back to\nsleep.  The destructor would then proceed to call flush(), which would\nwait for the writer thread to wake up (1 full time out) and clear the\nforceFlush_ flag.  After flush returns, the destructor would set\nclosing_.  It could take the writer thread another full timeout to wake\nup again and process this flag.\n\nThere were also some points where the worker threads would detect the\nclosing_ state in their loops and automatically close the file, but did\nnot zero out the file descriptor, then the destructer attempted to close\nthe same file.  Fix by simply zeroing out the fd_ at these points.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005154 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a0e11597163def6727896a77490899681c1eb6d6",
      "tree": "df8bf21b710a92f520b8d8b2b940cf0b0e6fa000",
      "parents": [
        "e94fa3391db1a423b6964b0aa6499324d05b055b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:27 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:27 2010 +0000"
      },
      "message": "THRIFT-926. cpp: remove \"standalone\" distinction in TZlibTransport\n\nNow that TZlibTransport::flush() behaves the same way as other\ntransports, there is no need to distinguish between RPC and standalone\nbehavior for TZlibTransport.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005152 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e94fa3391db1a423b6964b0aa6499324d05b055b",
      "tree": "31c7ea84ea0cadc3c411fa0078e88ede3f794bd4",
      "parents": [
        "f2abcf9a563849dc5861be8aa38f764525c072b1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:26 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:26 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Make TZlibTransport::flush() behave like other transports\n\nPreviously, TZlibTransport::flush() finished the zlib stream, so calling\nwrite() after flush() would result in an error.  Now it just flushes the\ndata, without finishing the stream.  A new TZlibTransport::finish()\nfunction has been added to finish the stream.\n\nThis breaks compatibility.  I\u0027m aware of anyone using this code outside\nof Facebook, though.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005151 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f2abcf9a563849dc5861be8aa38f764525c072b1",
      "tree": "cc186334ba89995a6eb31ff2b2cdfab90e3c9c7c",
      "parents": [
        "9a961e7750bd9d0393802df4d7a3bb6996a3339b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:24 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:24 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Use boost::lognormal_distribution in ZlibTest\n\nThis way we no longer have to have a huge hard-coded list of numbers in\nthe source code.  The distribution is randomly generated for each run.\n(Although the --seed argument can be used for repeatablity.)\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005150 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9a961e7750bd9d0393802df4d7a3bb6996a3339b",
      "tree": "472f07117c164d728f470fa2b967c54a9374c47c",
      "parents": [
        "3cc9dab229951aecf59cd229a45007013cb57fba"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:23 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:23 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Convert ZlibTest to use the boost unit test framework\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005149 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3cc9dab229951aecf59cd229a45007013cb57fba",
      "tree": "4fba76fadcbd2b3231a076b7f82f733f5232ef8a",
      "parents": [
        "56cb796bcecb1e2fef8ab23d8f3f60418502ba10"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:21 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:21 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Remove TZlibTest dependency on filesystem data\n\nPreviously, ZlibTest read a file from disk to get data to test with.\nIt would fail unless gen-cpp/DebugProtoTest_types.tcc was present in the\ncurrent directory and was at least 32kB long.\n\nNow ZlibTest simply generates 3 separate buffers to test with.  The\nfirst buffer is just all \"a\"s, the second is some random sequential\nruns, and the third is completely random.  They usually seem to have\ncompression ratios of around 315:1, 4:1, and 1:1, respectively.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005148 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "56cb796bcecb1e2fef8ab23d8f3f60418502ba10",
      "tree": "fe8fc0005c3ac09fc0c0bb9ab42dc768b11714c0",
      "parents": [
        "35dc7695a95e4e0c3e311faca5341a2e365b9ea0"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:20 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:20 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Fix a couple minor issues in ZlibTest\n\n- Add a necessary cast.\n- Check buffer sizes more carefully to allow for different read/write\n  size distributions.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005147 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "35dc7695a95e4e0c3e311faca5341a2e365b9ea0"
}
