)]}'
{
  "log": [
    {
      "commit": "53ae9f39d5118d9b13774413e7989b9f0fb1a8eb",
      "tree": "5cc5f76a2afed365f70f366994e255dbda59235c",
      "parents": [
        "f5dea4c7f31703cdc0c347eb7ec429fc5864afb4"
      ],
      "author": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Mon Dec 07 00:42:38 2009 +0000"
      },
      "committer": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Mon Dec 07 00:42:38 2009 +0000"
      },
      "message": "THRIFT-622. Add appropriate licensing information to get Thrift ready for a release.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@887812 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": "3b15ebc251adc63d9c330c50e9a399e8117bdf35",
      "tree": "d86c65190ef84faf4ccdb3d557fba6aadfbda11c",
      "parents": [
        "d2a3e566b7814cfe176dd988854f6b3dca6a47d7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 06:29:19 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 06:29:19 2008 +0000"
      },
      "message": "Add support for .equals() to Java structs.\n\n- Add a new method to t_java_generator that generates a .equals() method.\n- Add a correct but useless implementation of hashCode for structs.\n  (This is required by conventino when overriding .equals().)\n- Add java_package to DebugProtoTest and OptionalRequiredTest.\n- Add a new structure to OptionalRequiredTest to assist testing the behavior\n  of .equals() with respect to null and unset fields.\n- Clean up test/java/build.xml a bit.  (It still has a ways to go.)\n- Add EqualityTest.java to test .equals().\n- Add IdentityTest.java to test that writing and reading a structure\n  preserves equality.\n\nTested by runnint atn test.\nI also looked at the generated code for OptionalRequiredTest.thrift.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665541 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9a08dc6184cd0c3fd3d774fcf3f0a4233e28975f",
      "tree": "a047210c4603c6d119639b2112049e5ebce8136d",
      "parents": [
        "79eca14125c391c6011f4ffb14bfea898bc6c2f9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:17 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:17 2008 +0000"
      },
      "message": "Make the C++ generator use non-hardcoded namespaces.\n\n- Make the C++ generator use program-\u003eget_namespace(\"cpp\")\n  instead of program-\u003eget_cpp_namespace()\n- Eliminate the explicit \"cpp_namespace\" in t_program.\n- Deprecate the cpp_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665513 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8180c0c028d11086f6dd042e637af7c38db073f2",
      "tree": "3a2fc8f2f962c46e2ac63516973eadc0e8be3f5a",
      "parents": [
        "20f009d6251af0f838c4ef8799d6b238cd230606"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 04 21:14:14 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 04 21:14:14 2008 +0000"
      },
      "message": "Thrift: \"make check\" support.\n\nSummary:\nAdd a Makefile.am in the test directory that runs some of the test programs\nwhen \"make check\" is executed.  Also removed some obsolete comments.\n\nReviewed By: mcslee\n\nTest Plan:\nRan make check, saw all tests pass.\nRan make install, saw no test programs installed.\nRan ./cleanup.sh, saw a pristine workspace.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665458 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": "2dc72c3864e76d9eb14c1f83def63fa2351f4fb2",
      "tree": "a9d1cb7875bb45a5ee9eba760ca229902a34408c",
      "parents": [
        "dd56497a7c97f07c8d97b9c7323652fb2b7154e0"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 21 23:59:34 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 21 23:59:34 2007 +0000"
      },
      "message": "Thrift: Move TStringBuffer functionality into TMemoryBuffer.\n\nSummary:\nTMemoryBuffer already has the necessary plubming to work with C++ strings.\nThis revision implements that functionality with a few wrapper methods.\nRemoved TStringBuffer as it should no longer be required (and it is tricky\nto safely inherit from a class that has a non-virtual destructor).\nAlso refactored the TMemoryBuffer constructors a bit.\n\nReviewed By: aditya, yunfang\n\nTest Plan:\ntest/TMemoryBufferTest.cpp\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665213 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8320a92d9b07f8dc5f7d9f0517a28bec64ce20e2",
      "tree": "6003fc152953dc859d076eb7f57ffacdfd0b289a",
      "parents": [
        "cbd4bacc307c0103aa07d5bbc2104e14b8a29aac"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 14 19:59:26 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 14 19:59:26 2007 +0000"
      },
      "message": "Thrift: Merging external patch.\n\nSummary:\nMerging a patch from Andy Lutomirsky.\n- Allow fields to be marked \"required\" or \"optional\" (only affects C++).\n- Thrift structs now have operator \u003d\u003d.\n\nReviewed By: mcslee\n\nTest Plan: test/OptionalRequiredTest.cpp\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665202 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ]
}
