)]}'
{
  "log": [
    {
      "commit": "cd43a06405c806d7ff928262da29703cde7e764f",
      "tree": "fab911ee1dae532d3b231b9fe9e4f73c28d61cdd",
      "parents": [
        "33e190cd150c326ac833c435f975c2e737cff74f"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 20:01:29 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 20:01:29 2010 +0000"
      },
      "message": "THRIFT-703. Attempting to hash an unset union struct results in NPE\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911162 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f94f008d80bf858e4ad635fda61f8cd2bd1be0a2",
      "tree": "23f73dc58140f7ebb1d5f5d36c04f4e0fbf3f5bb",
      "parents": [
        "526112103cff44ec923d77aed0838b93a41f6b04"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Feb 12 22:49:40 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Feb 12 22:49:40 2010 +0000"
      },
      "message": "THRIFT-702. TUnion\u0027s toString method throws NPE if the union is unset\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@909645 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "526112103cff44ec923d77aed0838b93a41f6b04",
      "tree": "fc39796573ac228ae125555bbcf3b1a764917e34",
      "parents": [
        "ddfe0c96982c50901504921291a1b973c1304941"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 10 23:23:35 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 10 23:23:35 2010 +0000"
      },
      "message": "don\u0027t put all the test cases and generated classes into the jar - reduces size of jar from ~1M to ~200k.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@908746 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c771944644247f5ae31c37ffe937fe93c147b327",
      "tree": "bb6bd15d84544d6f50bcd21555f0d28d940669a4",
      "parents": [
        "b6f4e56bb0c67d6f10391d9a6dff845e72c4100f"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 21 03:20:01 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 21 03:20:01 2010 +0000"
      },
      "message": "THRIFT-684. java: Add constructor to TNonblockingServerSocket to accept InetSocketAddress\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@901513 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "db57aa0df9f83ff035bedb7e0afc447d0214acc0",
      "tree": "fd3df2b44c738f4bef0840bcfe11210a339b1d1b",
      "parents": [
        "8d41b643f9bb670f18404260fbe124c0cabb5360"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:40:31 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:40:31 2010 +0000"
      },
      "message": "THRIFT-677. java: IntRangeSet.java ignores first element in the constructor array\n\nThis change removes IntRangeSet from the codebase\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899729 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "62fb2ed1fea45f3193a0b295e5ef7f910a70cd6a",
      "tree": "ec21096d7fc2ba0fc75e779962553176bb383395",
      "parents": [
        "9bfacd36800f052e33ffa78a06bc9a4f600e5f3d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:29:26 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:29:26 2010 +0000"
      },
      "message": "THRIFT-608. java: Option parameter is ignored for one constructors in THsHaServer\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899723 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c2ec7cae04b1a18a0fbb2dc3802fb3d18f0c080c",
      "tree": "21ca03a118b38cebd1a3cc742239608d44ee5c71",
      "parents": [
        "986d50fc718f06b234cf59effd9d374678801557"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Dec 31 18:59:15 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Dec 31 18:59:15 2009 +0000"
      },
      "message": "THRIFT-670. java: Unions don\u0027t skip unrecognizable fields correctly\n\nThis patch adds a test and a fix for the bug.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@894924 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d250314e66b5a90b4aa5060ee1e326b5818cbb46",
      "tree": "3243d088c96f54df020bca22b6b247d3f5c1dcd6",
      "parents": [
        "2d80470bcb1a7e41ef0668194ab97bb65342baac"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Dec 28 18:49:03 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Dec 28 18:49:03 2009 +0000"
      },
      "message": "(no ticket). java: Make Unions print binary values more tersely\n\nBytes were getting sign-extended out into giant strings of f\u0027s. This change makes sure only the bottom byte is used.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@894222 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2d80470bcb1a7e41ef0668194ab97bb65342baac",
      "tree": "00cacf2bfbe22d4336e2c74fd0e45b37dd08d71e",
      "parents": [
        "e533bace3d462ebad7c65d7de4fd167a0ffbe740"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Dec 18 19:41:11 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Dec 18 19:41:11 2009 +0000"
      },
      "message": "THRIFT-632. java: Constants of enum types don\u0027t behave well\n\nThis patch causes constants of all types to be resolved differently by the compiler, and makes it so that constants of enum types contain a reference to the enum type so that code generators can produce the correct names.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@892358 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2727fab22f11a9d9c30b2c47d9d010adf97c15d6",
      "tree": "799d604fca5fa8020ce17c178ad72424e78dddf5",
      "parents": [
        "eb03222bca7d89654702569cad0c348b5dd44317"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Dec 09 19:30:01 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Dec 09 19:30:01 2009 +0000"
      },
      "message": "THRIFT-645. java: Create ant rules for running the test client and server\n\nI didn\u0027t make these depend on compile-test since ant doesn\u0027t seem to\ndetect that the class files are up to date, so it takes a really long\ntime to recompile everything.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@888931 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "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": "9af23d9327277a791c8b22c4323b8e17e2bfc378",
      "tree": "54b140c45dbb123fe46037ed5532c8519b49a1d2",
      "parents": [
        "e476480691d114ad1f1a9794bd10b34df6554ad2"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Nov 19 17:26:38 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Nov 19 17:26:38 2009 +0000"
      },
      "message": "THRIFT-551. java: Enumeration doesn\u0027t generate real enum in Java\nThis patch makes the compiler generate actual Enum classes.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@882211 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "aa9fb5dc9de5f3cfbe086e6df8e7c6d3640c272c",
      "tree": "73292b4fb495b218715ab291af1f6517e84c4cc2",
      "parents": [
        "0c5c234b58802c36013b0d69b237ec3f098ebfd5"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Nov 12 20:52:25 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Nov 12 20:52:25 2009 +0000"
      },
      "message": "THRIFT-623. java: Use a Java enum to represent field ids in generated structs\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835538 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e2e4ea1dcf09bdbf5bc2f270812ae2a3ca69c02b",
      "tree": "4f910afa1552dafc23e1b20d3bb90d46c7602449",
      "parents": [
        "7948a66cfc6d164cb27da71360a270838a7468c2"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 11 21:01:35 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 11 21:01:35 2009 +0000"
      },
      "message": "THRIFT-624. java: compareTo is broken for Unions with binary fields\nThis patch adds a special case for byte[] values in TUnion. It also fixes a related bug in TBaseHelper for comparing two byte arrays.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835065 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2845b16eb24fc66d34f66c776400354225e70bad",
      "tree": "d3343b4fd1946cd672c08b7aa37e0ff594961a53",
      "parents": [
        "6731b57b582badaa3fca91e6ac54bf18cd2cf0f7"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Nov 09 15:55:22 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Nov 09 15:55:22 2009 +0000"
      },
      "message": "THRIFT-565. java: Structs containing typedefs for incomparable objects will be considered comparable\nThis patch causes the compiler to fully unwrap typedefs when determining comparability.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@834119 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6731b57b582badaa3fca91e6ac54bf18cd2cf0f7",
      "tree": "23d56486b6514d39e6ed916f0cb460d1ec6dc9b1",
      "parents": [
        "3533dcbef88d1c4bae8e610f289c3297aea26a67"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 04 00:30:10 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 04 00:30:10 2009 +0000"
      },
      "message": "THRIFT-620. java: Compact Protocol should call readAll, not read\nThis patch switches to calling readAll instead of read.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@832633 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "72fd472476a68dc55ca8cbfb05452d6c69fb0d19",
      "tree": "51c714a9cad4de734d3558ce8a35953a67d64698",
      "parents": [
        "834895d15c8e6761b1dd28401966c39d32954936"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 15 01:24:26 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 15 01:24:26 2009 +0000"
      },
      "message": "THRIFT-589. java: Add Field Name to Field ID Mapping\nJava Thrift structs now have a static mapping of field name to field ID.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@825371 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "51f288062dceebbb16886752ddeb0a24a8d04956",
      "tree": "39a9b4ee28f83ca7b5d6d227028805503c8ee9bf",
      "parents": [
        "315a5dbe29213aa70750f4e93542e1d72f3b0bb9"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 01 20:53:45 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 01 20:53:45 2009 +0000"
      },
      "message": "THRIFT-446. java: PartialDeserialization in Java\n\nThis patch adds a partialDeserialize method to TDeserializer that allows you to request a specific subfield of the serialized data.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@820786 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "315a5dbe29213aa70750f4e93542e1d72f3b0bb9",
      "tree": "a7cf17a5eedae6c0f60d4bdb2605c3125cdd4ef3",
      "parents": [
        "bff2a35adf75e5da3483facab647601a73a1f9ee"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 25 20:28:35 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 25 20:28:35 2009 +0000"
      },
      "message": "THRIFT-588. java: Generated .equals method throws NPE for thrift object\n\nIf other is null, then they\u0027re not equal.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@818998 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ab3666e6caad79315fddf0f8f38c13c7a10cc23a",
      "tree": "4130f6c9eaae3553171c4c4a0d18623697a63193",
      "parents": [
        "fd58c55dca197daea0df23a339a1d106dea8189b"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 23:03:47 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 23:03:47 2009 +0000"
      },
      "message": "THRIFT-409. java: Add \"union\" to Thrift\n\nThis patch introduces new IDL syntax for creating Unions, explicityly single-valued structs. While the parser changes are portable, this patch only includes the actual generated code changes for the Java library. Other libraries can continue to generate a struct with the same fields and remain compatible until they are able to implement the full shebang.\n\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810300 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af81de0123c8d9920a25a27d28da66f9d00748cc",
      "tree": "a85adc2cfe4a3e5ae040f4b3eecb64e92f8013b8",
      "parents": [
        "2c8cd944e50d4d69f00fde70ecee9c75ab924e2b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 27 20:27:09 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 27 20:27:09 2009 +0000"
      },
      "message": "Revert r806014 \"THRIFT-562. java: Java is inconsistent ...\"\n\n- It changed the semantics of default-presence fields.\n- It messed up calls that accept exceptions.\n- Full details on issue.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@808609 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2c8cd944e50d4d69f00fde70ecee9c75ab924e2b",
      "tree": "41f814525b669777887bba8df93b90af7c0ffe07",
      "parents": [
        "2f45e789f6f87d95cd17be91900476f6a50bb1c1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 20 01:00:18 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 20 01:00:18 2009 +0000"
      },
      "message": "THRIFT-562. java: Java is inconsistent checking for required fields\n\nThis patch makes the compiler act consistently regarding what it means to be required or optional. Additionally, it cleans up the tests to actually use the Fixtures class all over.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@806014 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2f45e789f6f87d95cd17be91900476f6a50bb1c1",
      "tree": "581aa69ea22832e3a5b796ee252df2f864ef511e",
      "parents": [
        "c27cda57a0347d3b7496a8ccbaf8071ead1f898e"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 20 00:55:12 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 20 00:55:12 2009 +0000"
      },
      "message": "THRIFT-566. java: jar file should contain copies of LICENSE and NOTICE files\n\nLICENSE and NOTICE are now included in the jar file by the build process. \n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@806013 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c27cda57a0347d3b7496a8ccbaf8071ead1f898e",
      "tree": "9257aece1f341bdc30aa92742fd613ad3814e174",
      "parents": [
        "f5a0b3dfc8b0d6f7d85de4f9b18f14d6584d3d3a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 14 20:04:15 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 14 20:04:15 2009 +0000"
      },
      "message": "THRIFT-558. java:  Replace use of log4j by commons-logging in Java library and generated Java code\n\nThis patch switches Thrift to use slf4j instead of log4j. \n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@804349 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "82e96f5d96833d0af5495405444bace82b2214d7",
      "tree": "4c80cda4b40668b6902cebdc09f00e13b73c9cc3",
      "parents": [
        "293086cacc60f24d45359ed93c5ec224562b4ddd"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jul 31 19:32:34 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jul 31 19:32:34 2009 +0000"
      },
      "message": "THRIFT-144. java: Generated classes should implement Comparable\n\nForgot to add TBaseHelper.java. Oops.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@799714 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ef73b0e67ad4f5238417a60ec41176c1a6095b8d",
      "tree": "fe5e7786bb001d4e3e7e925b236715f2abb63023",
      "parents": [
        "56c2c21f4ef2c0d2052b956a000ed3a6321ea394"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 17 16:43:25 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 17 16:43:25 2009 +0000"
      },
      "message": "THRIFT-378. java: Java servers do not turn internal errors into thrift exceptions\n\nThis patch causes Java servers to log internal server errors and return an INTERNAL_ERROR exception instead of just closing the connection.\n\nAuthor: Jonathan Ellis\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@785713 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "56c2c21f4ef2c0d2052b956a000ed3a6321ea394",
      "tree": "5c789b7f73f938896b5e6c5a36914ff0b7913811",
      "parents": [
        "fad60657a3b64894b56b56f7c23b2dcfa8cf4647"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 02:05:25 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 02:05:25 2009 +0000"
      },
      "message": "THRIFT-462. java: Installed jar shouldn\u0027t be executable\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@781639 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e043a9ec4b91ef5373681e966753d5172d56e79f",
      "tree": "b3ea259c4e46697526621b95a5f21be916b1dfc1",
      "parents": [
        "4b86e62eb6bb9230985c53c121e6aa34642162cb"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri May 22 20:17:04 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri May 22 20:17:04 2009 +0000"
      },
      "message": "THRIFT-516. rb: If TFramedTransport reads a negative frame size, throw a TTransportException descendant instead of the default NegativeArraySizeException\n\nThrow a TTransportException when the frame size read from the wire is \u003c 0.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@777690 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4b86e62eb6bb9230985c53c121e6aa34642162cb",
      "tree": "e76554a060d531e08fdc50429e682a9f882948e0",
      "parents": [
        "dc0a94142699ebf90a4a35a3e1ca64c7b875125f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 22 19:52:06 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 22 19:52:06 2009 +0000"
      },
      "message": "THRIFT-373. Get some missing files into the release tarballs\n\n- Added some stuff to EXTRA_DIST.\n- Added some non-compiled sources to a C++ test.\n- Made lib/perl/test a SUBDIR of lib/perl.\n\nThe last is a revert of r766558, but I moved the \"Types.pm\" rules in\nlib/perl/test/Makefile.am to the check-local target, so it should still\nwork as expected (per THRIFT-461).\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@777681 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fff84d1466d1848cc19054a56f1d4dc91f6d8326",
      "tree": "3f24afe93a73323775aebf4bfc31ad936b4635cf",
      "parents": [
        "089164a2e9ad58d44c7e841e25f02360fe8bd047"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 22 19:50:33 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 22 19:50:33 2009 +0000"
      },
      "message": "THRIFT-450. java: Propagate CLASSPATH from ./configure to make and ant\n\n- Put \"AC_SUBST(CLASSPATH)\" configure.ac so the CLASSPATH used to run\n  ./configure is passed in to make.\n- Put \"export CLASSPATH\" in lib/java/Makefile.am so that the CLASSPATH\n  passed to make is passed to ant.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@777678 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "089164a2e9ad58d44c7e841e25f02360fe8bd047",
      "tree": "dda5a8775b077017e106ec6bafdb01373b856488",
      "parents": [
        "fdfcebda522c4c84f9c81cebdfb43d878d37a35a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 22 19:50:32 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 22 19:50:32 2009 +0000"
      },
      "message": "THRIFT-450. java: Respect the global classpath during testing\n\nI\u0027m not sure why, but \"ant test\" under lib/java doesn\u0027t pass the\nglobal classpath to the test programs.  (This is weird because\ncompile-test does.)  This change manually extracts the CLASSPATH\nenvironment variable and adds it to the test classpath.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@777677 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4ca0c8eaee40c305e11c09005f6f4555be833fe4",
      "tree": "fdaf8d723fafb3c769ca63e9375c7f768ebf2464",
      "parents": [
        "eaa8d7e565a4ee4a1aa9357bebdaec023a540717"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue May 12 23:16:55 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue May 12 23:16:55 2009 +0000"
      },
      "message": "THRIFT-450. Don\u0027t use Ivy if log4j is already available\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@774132 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9aa716cf0f5fee6ebf549ef0949b0bbc2bf325dc",
      "tree": "cba6e817f3f7e5663f73e5688a23be7fec52ddd0",
      "parents": [
        "16514d0a724f9a7ad4a3fe7a854335f949ba25fa"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon May 11 18:09:24 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon May 11 18:09:24 2009 +0000"
      },
      "message": "THRIFT-493. java: Stopping TNonblockingServer when it hasn\u0027t been starting results in an exception\n\nCheck if the server is null before trying to stop.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@773632 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "787538943be3c40a55b971c47882e8b19d4b5823",
      "tree": "a7c27580d3118ce81a625f2f642638c94ddfe18c",
      "parents": [
        "b7b8af9e61991101f3a944032206f5add7d0649d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed May 06 17:22:11 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed May 06 17:22:11 2009 +0000"
      },
      "message": "THRIFT-482. java: build.xml does not specify a target version for compiled java classes\n\nThis patch updates the build file to target java 1.5.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@772373 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "36a5a25a211f7b11c005676bf5c0f359e94677b4",
      "tree": "716d948664d00876c3c8abd703ebc2c713a4df9a",
      "parents": [
        "62a3fba792eaa486b0848452b547b119cf4901aa"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 29 23:20:56 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 29 23:20:56 2009 +0000"
      },
      "message": "THRIFT-453. java: By default, use Ivy to download Java dependencies\n\nbuild.xml will now download Apache Ivy into the build tree.  Ivy will\nthen be used to download the other Java dependencies: log4j and Apache\nCommons Lang.  This achieves the goal of allowing the Java library to be\nbuilt from a clean checkout, without requiring users to manually obtain\ndependencies or checking external binaries into the source tree.\n\nThe Ivy behavior (except for a few mkdir calls) can be inhibited by\npassing -Dnoivy\u003d on the ant command line (or in a property file).  In\nthis case, log4j must be available in the user\u0027s CLASSPATH.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@769995 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5a5608893018529dfa5dba66070b26d7b33e9d7b",
      "tree": "2ec7e3e37c046970e929d9bcbfe0c288ef2151e3",
      "parents": [
        "ebb6cc4cf1345aee0f64e400a3d4c08a93cfe96c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Apr 10 17:20:51 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Apr 10 17:20:51 2009 +0000"
      },
      "message": "THRIFT-416. java: java.util.logging eats exceptions without warning\n\nThis patch switches the logging framework to log4j and updates all the server implementations accordingly.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@763981 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "def30a60723625ebb5e884fdf259aeeb24346d15",
      "tree": "03cc17d38ce4d460d2728a83e6caa77650bc5d5f",
      "parents": [
        "9e4c04125e4e4e113ceba64116acfccd7a8f7f04"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Apr 08 00:19:37 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Apr 08 00:19:37 2009 +0000"
      },
      "message": "THRIFT-387. Add appropriate Apache header to all code files\n\nThis hits all the documentation and some misc code files that have avoided the license up to this point.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@763048 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fe5b77d728feec094a086e516d3a185796397072",
      "tree": "188a44d82331ca19f9f65dfc3481ab86c65aa6ef",
      "parents": [
        "2bcf3995ef7ff3db554c550b2d760d870a64d389"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 07 20:51:48 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 07 20:51:48 2009 +0000"
      },
      "message": "THRIFT-356. Improve CompactProtocolTestStruct\n\n- Remove the default values from CompactProtocolTestStruct\n- Add a const CompactProtocolTestStruct that contains those values\n\nThis has a short-term benefit and a long-term benefit.\n\nThe short-term benefit is that it removes the list-as-map-key\n(etc.) values from the \"types\" generated file and puts it into\nthe \"constants\" generated file.  This gets them out of the way\nof the Python tests, so they pass again.\n\nThe long term benefit is that is strengthens the Java TCompactProtocol\ntest.  Before, it was reading the \"full\" CompactProtocolTestStruct into\na CompactProtocolTestStruct that was just constructed, but the latter\nwas already almost equal to the former.  This change makes it much\neasier to create an empty CompactProtocolTestStruct to read the serialized\ndata into.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@762957 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "deda141392d0b242e1fce0c0682ceedb45642a18",
      "tree": "b3341930bc7cc0965fa6d725f728774fae8c361c",
      "parents": [
        "b5714ef91ec7210c65e07c8d635c224795f22919"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 19:22:31 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 19:22:31 2009 +0000"
      },
      "message": "THRIFT-388. Create a \"ONEWAY\" message type that is an alias for \"CALL\"\n\nPave the way for a new message type for oneway function calls.\nFor now, just define the constant in all languages and make\nserver implementations treat it the same way as a normal call.\nOnly C++ and Erlang currently check the message type (on the\nserver side).\n\nThere is a little bit of redundancy in the Erlang code, but\nthe alternative is a bit gross, and this split-up will be\nnecessary eventually when we start handling one-way calls\ndifferently.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761389 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b5714ef91ec7210c65e07c8d635c224795f22919",
      "tree": "979dbdbff326b9bc8260c29c436ddff3a34a68f8",
      "parents": [
        "5bd7192dc3277d348dcf23147a9f0d62520f0918"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 00:48:11 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 00:48:11 2009 +0000"
      },
      "message": "Get rid of missing LICENSE files from some Makefile.am\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761137 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5b8b4845488b07007a311a0702107d6d8abe0052",
      "tree": "837129cbda8c93c270d6a6e33555fec805a07adf",
      "parents": [
        "16b29a989e9af77130b626c011c56f07d197b8b5"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Apr 01 20:10:15 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Apr 01 20:10:15 2009 +0000"
      },
      "message": "THRIFT-417. rb: BufferedTransport can enter an infinite loop\n\nSwitch native proto implementations to use read_all instead of read. Add a bunch of tests to verify. \n\nAlso:\n- removed some commented code in binary_protocol_accelerated.c\n- struct.c was missing one of the possible native method calls\n- updates gem manifest (included files that didn\u0027t exist)\n- fixed svn:ignores of test/rb/gen-rb and lib/java/gen-java\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761037 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": "6ce401dd555cf7928e1129d9ab31aa7be4bc7e9f",
      "tree": "6ee5161e938b5afd1b9b0dac5b4545af3d66e96b",
      "parents": [
        "c51986f43897a64531935653cb4a2462f6cd7e11"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:01:58 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:01:58 2009 +0000"
      },
      "message": "THRIFT-136. s/async/oneway/ in misc places\n\nThis is mostly an internal-only change.\nIt affects docstrings, messages, variables, test cases, etc.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757992 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c51986f43897a64531935653cb4a2462f6cd7e11",
      "tree": "da8728080bf9265c2aa6eb8d72877b384ea94c80",
      "parents": [
        "473292500dc553e537aad0544f9fbb31d0fbf3d0"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:01:25 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:01:25 2009 +0000"
      },
      "message": "THRIFT-136. s/async/oneway/ in comments\n\nThis is an internal-only change.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757990 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "32e04b423d01e3d37ab72685407313da6a4416f6",
      "tree": "3091f1c09ac25f56ad756765a0aced540ae18fc0",
      "parents": [
        "fc30667671cfb9c1adbf03a797952d52d3d6f21a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 16:43:06 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 16:43:06 2009 +0000"
      },
      "message": "THRIFT-262. java: Generate Javadocs for library classes\n\nThis patch adds a \u0027javadoc\u0027 Ant target, and installs the documentation to ${docdir}/thrift/java (/usr/local/share/doc/thrift/java with the default invocation of configure). It also fixes a few Javadoc warnings in the source code.\n\nIt also modifies the \u0027dist\u0027 target to include the Java sources in the jar file, so that Eclipse may show the javadocs for Thrift classes automatically (this increases the size of libthrift.jar from 90 Kb to 155 Kb).\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756603 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "13083d6d52d2b5bd3d5a9368a04503c5b21eabab",
      "tree": "dfc912718c5f9dbacfd395d1e5f8dd59e9fd9de6",
      "parents": [
        "afa1b47e60c4ffba554f6187d84fd20cd514f51d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 02:19:46 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 02:19:46 2009 +0000"
      },
      "message": "THRIFT-294. Remove @author tags\n\nThey\u0027re gone. Don\u0027t add any new ones!\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756307 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d815c218c8c48ab7bd930aa0ea8913bc9b2ce872",
      "tree": "6344fafd1300682cd8a6822d19dc380c6a412fe1",
      "parents": [
        "00a8dd633c4ebdd2536b70901343d0beb36da0f1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Mar 19 18:57:43 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Mar 19 18:57:43 2009 +0000"
      },
      "message": "THRIFT-332. rb: Compact Protocol in Ruby\n\nThis patch includes both a pure Ruby and C-extension port of the Compact Protocol described in THRIFT-110. It also fixes a bug in struct.c that was interfering with native protocol method calls, and adds some utility classes to the Java library for serializing/deserializing to a file for the purpose of testing protocols cross-language.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756133 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "48141bf5a686453b7a1b5b5b506617669b7cc748",
      "tree": "fd2b33e0d42b71ac184e5eaa3732bfec82d66e64",
      "parents": [
        "4980910100f67b1353040529257825af946f8e6b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 18 23:59:56 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 18 23:59:56 2009 +0000"
      },
      "message": "THRIFT-373. Update lists of files to include in release tarballs\n\nThis is mostly EXTRA_DIST, but also includes some headers.\nI had to drill down into test because \"make dist\" builds some\nof the test code.  .gitignore is not included in the tarballs.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@755791 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e8ee12242dbb8fa2d6189288f095b82912897316",
      "tree": "95a5eefdbec3099a6a67459751ae45b32bf7dac3",
      "parents": [
        "11727d2445573eab9fa86824ffcde9a3f5441b46"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Mar 18 02:47:02 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Mar 18 02:47:02 2009 +0000"
      },
      "message": "THRIFT-367. java: Some dead code in TNonblockingSocket.java\n\nAll the blocks of commented code are removed.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@755463 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0096b20883acf08c46389c8d232a49d8886074dc",
      "tree": "726dec1efc5ffe01f075f8feb8e116cd224e5ef2",
      "parents": [
        "56c48362202ef2f247f06c59e5824f2e979ab0a9"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 13 00:28:06 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 13 00:28:06 2009 +0000"
      },
      "message": "THRIFT-366. java: Lots of little warnings in java library\n\nThis cleans up imports, adds generic arguments where necessary, and puts OverloadNonblockingServer into the right package. \n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@753072 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d11f2411e204bbcf81bcd28dfa2897dbac7e2f01",
      "tree": "d64a50974c78b307ff569a74e24dec4f30fe5721",
      "parents": [
        "b139f64448f4ae89a24029f0588a494308e84e74"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 19 21:21:44 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 19 21:21:44 2009 +0000"
      },
      "message": "THRIFT-116. java: Isset fields for non-primitive types unnecessary\n\nThis patch gets rid of the __isset fields for non-primitives and updates ToStringTest and EqualityTest appropriately.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@746000 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c707855048258ab60e78d602509513b1394ec962",
      "tree": "9107eb9ede4489c3fb910045a7803be745664f08",
      "parents": [
        "538e344122315036f0abdd8f3fa89b7f9dd1d310"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 10 18:10:57 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 10 18:10:57 2009 +0000"
      },
      "message": "THRIFT-318. java: Performance of HashSet for enumeration VALID_VALUES seems poor\n\nInstead of a HashSet, enums will now use the special IntRangeSet implementation. \n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743037 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "538e344122315036f0abdd8f3fa89b7f9dd1d310",
      "tree": "6b3b59b269a655bf89b796e58d038d0eba0a9da4",
      "parents": [
        "6ad6251951598e88f87245e325e29e31ba7126d2"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 10 04:49:39 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 10 04:49:39 2009 +0000"
      },
      "message": "THRIFT-110. java: A more compact format\n\nThis patch includes the Java implementation of the new Compact Protocol outlined in the issue and a matching test. It also creates Fixtures.java, a helper class that contains some useful test structure instances. \n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@742847 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bb7826da704c979257b280608f65c3a85bd6883d",
      "tree": "729344f397c17eff1248a63e0389ce26591529c4",
      "parents": [
        "d83e250838705ad23444a8e6cda6d0aab5ef2e5b"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Feb 08 00:12:38 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Feb 08 00:12:38 2009 +0000"
      },
      "message": "THRIFT-10. java: Descriptors used during serialization should be immutable objects\n\n-Descriptor classes all have final members, making them immutable.\n-Generated structs now have static constant versions of their TStruct and TField descriptors, and will be used during writing.\n-Protocols that can benefit use static constants for various common returned descriptors.\n-A duplicate FieldMetaData.java that should have been removed previously was also removed.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741984 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d83e250838705ad23444a8e6cda6d0aab5ef2e5b",
      "tree": "4ce6a171f5332bab08f970639b8773fc7c1f3a0b",
      "parents": [
        "f28f82631abd81f312a505214adc9bffe427db06"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Feb 07 20:06:09 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Feb 07 20:06:09 2009 +0000"
      },
      "message": "THRIFT-321. java: THRIFT-303 broke EqualityTest\nRegenerated test code.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741952 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0b7d6fa5ee27dcfe60ed946c99fbc1c664bb4057",
      "tree": "8a8d7fded45f797c0155f0a16d08371839c3c287",
      "parents": [
        "d20a1d3619efa9edef51364d927bc9a78b37217f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 07 02:36:35 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 07 02:36:35 2009 +0000"
      },
      "message": "THRIFT-314. Purge reflection.limited\n\nThis was a feature designed to allow a Thrift server to report\ninformation about its interface.  However, the feature has\nsignificant design problems, and is presence is currently causing\nconfusion without doing any good.  Therefore, it is being removed.\nIt will always be in source control if and when we are ready to\ncome back to it.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741824 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d20a1d3619efa9edef51364d927bc9a78b37217f",
      "tree": "cee043777c8ddd6e8d2660e435e6bd73110e83eb",
      "parents": [
        "d73774f53e3c48da30eaafc625a629764f9d699f"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Feb 07 01:08:58 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Feb 07 01:08:58 2009 +0000"
      },
      "message": "THRIFT-303. java: Changes to __isset interface\n\nThis patch makes __isset always private and adds a method per field to set the __isset state when not using the bean-style generator.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741805 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d73774f53e3c48da30eaafc625a629764f9d699f",
      "tree": "31bfa45183047b5367328d3948094639cc9e3e5e",
      "parents": [
        "ead3382915e3e50845a2c6d0acdd75dc00dd3be3"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 05 00:24:42 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 05 00:24:42 2009 +0000"
      },
      "message": "java: Added SerializationBenchmark.java, helper class for performing tests on protocols.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740952 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f5383b663ecbfdf46d3a76553bfb3db3ea0af228",
      "tree": "936af701d31c7d267948897534b3ecdb6cf2cd38",
      "parents": [
        "dc9092ab1a2953c282b1add4a2500467eb9e3c9d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 03 00:49:25 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 03 00:49:25 2009 +0000"
      },
      "message": "THRIFT-297. java: getFieldValue and setFieldValue should be abstract TBase methods\n\nThis patch makes getFieldValue, setFieldValue, and isSet TBase interface methods, and adds all the previously beans-only getters and setters to all Java generated classes. \n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740169 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "50119f15aa034f5dde7113df112e6694246cfa76",
      "tree": "661e10d2503df48400eecde4ec53869b2973f9b3",
      "parents": [
        "9f427ee0e14fbc3a1e3c91a9f423bcbd8648e407"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 29 21:31:25 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 29 21:31:25 2009 +0000"
      },
      "message": "THRIFT-289. test: \"make check\" no longer runs the Java tests\n\nThanks to David for the changes that straighten the makefiles out.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739024 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "986d705578f7c3189b076b43097da0ff2f5d648e",
      "tree": "7aee1c12f09a9446067864ccbef6a5f108647adb",
      "parents": [
        "9a75aa51922c53d2dd010cbf962bdcd2302833aa"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 29 01:51:08 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 29 01:51:08 2009 +0000"
      },
      "message": "THRIFT-253. java: Enhance FieldMetaData\n\nThe code generator new creates a static map of field id to metadata for each field, including information like the field TType, class of embedded structs, required/optional/default, etc. Additionally, on loading, generated classes statically register their class and metadata map with the global FieldMetaData map, so you can get the metadata for any TBase-implementing class easily.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738708 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "249d7cb199b5c08e7a7a51189a733cc8fef12cf9",
      "tree": "a2ba11caa15e18c66f13d17ff7d8f43bc9c7d051",
      "parents": [
        "369417a5f15b54738d4954908fbb4908b8603295"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 29 01:21:20 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 29 01:21:20 2009 +0000"
      },
      "message": "THRIFT-166. java: Java tests should be in lib/java/test/\nTHRIFT-221. java: Make java build classpath more dynamic and configurable\n\nThis issue moves all the tests from test/java to lib/java/test/src and combines the build files. In addition, rather than continue on with the same busted approach to finding dependent jars for the tests, THRIFT-221 has been implemented, allowing the user to specify a .thrift-build.properties file in their home directory that contains additional classpath entries. \n\nAs a result of this patch, \"make check\" does not currently work as it is expected to. This will be resolved in a follow-up commit.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738695 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4371038cd1e1a0a0ef5283bfd540c7623fbe7514",
      "tree": "cc0c66e42bc569fe4a6c52c5a1d50b664f386c4c",
      "parents": [
        "8bbd8447b9de8a31ce50e6611d8f513d281897a3"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 22 16:27:16 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 22 16:27:16 2009 +0000"
      },
      "message": "THRIFT-240. java: TBase should implement Cloneable\n\nThe TBase interface now extends Cloneable.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@736691 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "afa80ea73d4cbf83afee807e5d9f9034fa177ade",
      "tree": "a770bab388608fef36e407fa83511d1c4ad0b5b4",
      "parents": [
        "c85fd50e2b3308e84345e5e0045507c20e6c5626"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 15 23:47:51 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 15 23:47:51 2009 +0000"
      },
      "message": "THRIFT-34 Java libraries should be namespaced under org.apache.thrift, not com.facebook.thrift\n\nLibrary classes and tests have been moved to the proper package and directory structure, and references to com.facebook.thrift where replaced with org.apache.thrift throughout the code. The fb303 contrib project still contains com.facebook packages.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734855 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b936ffdbd1740fda3686cd71bdcb1f865b709d07",
      "tree": "4bdfb54f86bb82c155b37bb79895ea0f26af6cf0",
      "parents": [
        "5455f00348b7cce553dc3f7bec40d297d112216a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:52 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:52 2009 +0000"
      },
      "message": "THRIFT-191. java: Create a static field id -\u003e name map for each struct\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731720 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "04c315946c68034a51376bab368a4c4c2c8a8ba5",
      "tree": "bb54703ff9e875ca11a533592f51f9b7173e77f7",
      "parents": [
        "fd71808e35af5ba82a29320abfcbc30ef7fc6b87"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 23:07:05 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 23:07:05 2008 +0000"
      },
      "message": "THRIFT-81. java: TNonblockingServer: Support a limit on read buffer size\n\nThis change makes it possible to set a maximum amount of memory that\nTNonblockingServer will use for all read buffers (combined).\nIf it is exceeded, no new data will be read from clients until\nmemory is freed.  The current implementation does a busy wait in\nthe main thread when this happens.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719741 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9837aaf097729beb2d3c656bb68c9c373faa84e9",
      "tree": "210912294984c373e4c2c6d60351ca5255c41e7e",
      "parents": [
        "e11f3073f7411e7b0508047850fcb42b331a2e5e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 07 23:03:47 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 07 23:03:47 2008 +0000"
      },
      "message": "THRIFT-145. java: Make TNonblockingServer more robust against errors\n\nTNonblockingServer was throwing a null pointer exception in certain cases.\nWe\u0027re not really sure what the root cause is, but this change prevents\nthe exception and also improves logging of certain undesirable conditions.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@702661 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f67ad9e68a390a7096d0d657f7c7d6ad884c611f",
      "tree": "9dfba384b8286e7767f777574c5b1cf1c8bde674",
      "parents": [
        "5ad6d4a7e35dc8f7078529e8e8004eb90dae31e9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Sep 04 18:23:29 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Sep 04 18:23:29 2008 +0000"
      },
      "message": "THRIFT-130. java: Eliminate frame{Read,Write} from TFramedTransport\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@692185 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4ad40d7c23f35e48fef4836e30741c1087d018ed",
      "tree": "b0f2fa5732d242a9b268b3e7780523711e1dc46c",
      "parents": [
        "a2693c135edef13a5f4816921c26cf1c33f025ce"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Aug 04 18:38:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Aug 04 18:38:36 2008 +0000"
      },
      "message": "java: Specify in build.xml that we are using Java 1.5\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@682453 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6144e428d5f55ef5cb81dbef1af8a140f94ad53c",
      "tree": "78950a55d1c4f717e46a05ddaa45e9fc52f58005",
      "parents": [
        "5ff21a4df610cf7a5b35563169dddf1f68325ba4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jul 24 19:20:32 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jul 24 19:20:32 2008 +0000"
      },
      "message": "THRIFT-64. java: Allow TServerSocket to bind to a specific IP address\n\nAdd a new constructor to TServerSocket that accepts an InetSocketAddress\nand binds to that address.  Define the old constructor (which just takes\na port) in terms of the new one.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@679505 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "db65e3dd68ad1a335996d319bee6c923974872f1",
      "tree": "39bf2fec565fdba9f9afe9354b901325f6649df9",
      "parents": [
        "01e55c1c28547eaac74636790bb86617c890c4c2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Jul 13 23:15:55 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Jul 13 23:15:55 2008 +0000"
      },
      "message": "java: Close broken connections [THRIFT-73]\n\nFixes a bug where TNonblockingServer (and by extension THsHaServer) could\npermanently lose track of client connections if the message on-wire was\nmalformed. If the client sends a bad message now, the server will close the\ntransport at its earliest convenience.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@676456 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f0c21a72cd6b027779fa99e55ec21be06c3dee41",
      "tree": "a14e27d7b5c1600f9937314d2010bd149ae06adc",
      "parents": [
        "53f18f01bea79d373d0bb1138b67c03e42f4143c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jul 11 01:26:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jul 11 01:26:16 2008 +0000"
      },
      "message": "[THRIFT-70] Allow the Java install prefix to be configured.\n\nSystems like Debian expect the thrift jar to be in /usr/share/java, not\nthe default /usr/local/lib This patch allows configure to be passed a\nJAVA_PREFIX\u003d flag.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@675821 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "03b574feada3862d460c7fc15dd1fb90687ff428",
      "tree": "a00b1ab393781ec05741f31757cc53681036d5b0",
      "parents": [
        "aabfa63c479fb8a0c5003291697ec139b1ddfc79"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jul 02 23:55:04 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jul 02 23:55:04 2008 +0000"
      },
      "message": "(THRIFT-5) A TNonblockingServers (single-threaded and thread-pool) for Java\n\nThis patch adds two Thrift servers for Java that both use non-blocking I/O\nto avoid locking up worker threads for idle connections.  The two classes are\n- TNonblockingServer, which supports single-threaded serving\n- THsHaServer, which performs I/O in one thread and method invocations in\n  a configurable thread pool.\nTo support these servers, TNonblockingServerSocket and TNonblockingSocket\nhave been added.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@673550 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fc0646481faaeccdc88bbd5d61b05a5da91f8a9b",
      "tree": "c083569ec2ef88bdae855de8f62331ff1e297ecc",
      "parents": [
        "28744ab833688ffe95eb4634aae33ad6f57a9054"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jun 30 19:13:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jun 30 19:13:23 2008 +0000"
      },
      "message": "(THRIFT-12) Make the Java library use java.util.logging instead of stdout.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@672868 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0a2e7a245d8609377d0f16811c0301649f492a83",
      "tree": "f711d31adaa7e677e29d62cadb9f680fb1a7bcb9",
      "parents": [
        "710440f95a964c07a25f47066ffd9d7285390d7b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:20:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:20:54 2008 +0000"
      },
      "message": "Java/TThreadPoolServer: Shut down more gracefully.  (THRIFT-11)\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666502 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f9b5b12f4d7e86e9834dd39ae4393383cab809af",
      "tree": "c7cf2ffbb2127c169bd6b0fbfdd072d25f298e0e",
      "parents": [
        "33fc5adb2be8568b1279414a7bb33043ac875a2c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:17:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:17:35 2008 +0000"
      },
      "message": "Tweak Java Makefile.ams to fix \"make distclean\".\n\nThe Java Makefile.ams assume the existence of ANT, but \"make distclean\"\nruns in the Java directories even if ENABLE_JAVA is off.  This change\nmakes the clean-local target handle the absence of ANT, fixing\n\"make distclean\".\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665683 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c8abb0733fb400dee372fe6c05f9da9e9b26fc15",
      "tree": "90fb652d651c7ebc017b627201ca9c4ea6233124",
      "parents": [
        "94058454a043a9d310a6ae027dabad59d5e98e1d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:08:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:08:01 2008 +0000"
      },
      "message": "Add build.xml, src, and LICENSE to EXTRA_DIST in lib/java/Makefile.am.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665664 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "04c6267aba644441330376e0d8d51a7338476c7c",
      "tree": "23ccbdcc633d150efd5acbee55e498d475847111",
      "parents": [
        "c631e98cad3f59565915c1cb10007ee61d960341"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:28 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:28 2008 +0000"
      },
      "message": "Squelch most Java 1.6 warnings.\n\nI actualy wasn\u0027t able to test this with Java 1.5.\nHopefully it doesn\u0027t break anything.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665636 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c631e98cad3f59565915c1cb10007ee61d960341",
      "tree": "7fb39869f8755fd0084ca09424a0df4bb764d1fb",
      "parents": [
        "99b000b48475efdfa68de26aeacd15cec01a81ca"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:10 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 20:16:10 2008 +0000"
      },
      "message": "Moved the java libraries from src to src/com/facebook/thrift.\n\nApparently this is what all the Java kids are doing these days.\nRan ant in lib/java and it built fine.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665635 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d92ca7dcea105837e3e576f797501c19929eced5",
      "tree": "a057680685447739e14a2548c9c0a710d1501888",
      "parents": [
        "fc78b2363387f6d139690edd3a9411369214b724"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 18 19:32:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 18 19:32:00 2008 +0000"
      },
      "message": "Prevent Java\u0027s TProtocolUtil.skip from overflowing the stack.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665577 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ea5e75af3ba79dc8a2893f959d52d284e806de86",
      "tree": "a7f6257b2c96c1906c7e0e1db5bbe6cf079b6f7d",
      "parents": [
        "a7f879b81f9058c5843d5b1bffeb8224db1c3a3b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:12:20 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:12:20 2008 +0000"
      },
      "message": "Add Java JSON protocol implementation.\n\nImplement full-featured JSON protocol, low-level base-64 encode/decode\nmethods, and related tests.\n\nConflicts (resolved by dreiss):\n\n\ttest/java/build.xml\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665562 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a7f879b81f9058c5843d5b1bffeb8224db1c3a3b",
      "tree": "ff3386108645ed6e65d68c07bf8f6ae8d64fd7d2",
      "parents": [
        "80f6398b63cfd3679fa9957f9563dc182213968d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:12:17 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:12:17 2008 +0000"
      },
      "message": "Add Java memory buffer transport implementation.\n\nWraps a TByteArrayOutputStream.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665561 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "80f6398b63cfd3679fa9957f9563dc182213968d",
      "tree": "b2369e1cc68b8c172c449e904da71a98a5c9d235",
      "parents": [
        "4a8f46ca0b449654626e7a68861d2fabb3fb9f48"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:12:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:12:13 2008 +0000"
      },
      "message": "Add NOT_IMPLEMENTED exception code.\n\nPreparation for Java JSON protocol implementation.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665560 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d2a3e566b7814cfe176dd988854f6b3dca6a47d7",
      "tree": "0819acbf84bab242f15008fd0abfce6177a11996",
      "parents": [
        "c0fef71697303057c72e546fa06a37fb3e585320"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 06:29:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 06:29:16 2008 +0000"
      },
      "message": "Add a TDeserializer for Java.\n\nThe class is the reverse of TSerializer.\nIt allows you to deserialize a Thrift struct from a byte array (or String).\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665540 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c0fef71697303057c72e546fa06a37fb3e585320",
      "tree": "3eb7ee3317dc5ad59c6985e6c166fbc2fddc4c04",
      "parents": [
        "dc815f5402deeaa6ddd25c536bf912be59438d57"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 06:29:12 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 06:29:12 2008 +0000"
      },
      "message": "Fix a comment in the Java TSerializer.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665539 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3de1c4e4d33cc5c32809771f2bbec746501d1f94",
      "tree": "09a5117a44da903a96121ce2bfa164c735609d7b",
      "parents": [
        "2ca456a8ae1599a2112eed0ddffa922657c8b123"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Feb 24 17:45:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Feb 24 17:45:03 2008 +0000"
      },
      "message": "Use \"all-local\" instead of all in Makefile.am.\n\nSummary:\nRedefining an Automake rule totally blows away anything Automake puts in place.\nBy using all-local instead of all, we can just add to the generated rule.\n\nReviewed By: marc\n\nTest Plan: make\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665499 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2ca456a8ae1599a2112eed0ddffa922657c8b123",
      "tree": "262d58e0e9af878b5534c6e399350c6df4edc401",
      "parents": [
        "223d6bd1ac0c033aa01cad3aad8051df8a161a49"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Feb 24 16:42:18 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Feb 24 16:42:18 2008 +0000"
      },
      "message": "Make \"make clean\" rules a bit more standard.\n\nSummary:\nmake-generic is some sort of internal undocumented thing.\nmake-local is what is supposed to be used for this stuff.\nAlso use $(RM) instead of \"rm -f\".\n\nReviewed By: marc\n\nTest Plan: make clean\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665498 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "223d6bd1ac0c033aa01cad3aad8051df8a161a49",
      "tree": "0731fd691717f902a294b3b872bdaaca7c81bdc4",
      "parents": [
        "ff50f28700b68264f2d54d8f6fb3b929b64c5a32"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Feb 24 02:03:17 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Feb 24 02:03:17 2008 +0000"
      },
      "message": "Make \"make check\" work properly for Python and Java.\n\nSummary:\nThe Python and Java versions of \"make check\" only work if \"make all\" has\nbeen run.  Our automake-fu isn\u0027t strong enough to make proper dependencies,\nso this hack suggested by Nitay will force the libraries to be built\nbefore make check is run.\n\nTest Plan: make check\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665497 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f8dcf03416bec49ee4ba7cc1615f61fa5e5419d7",
      "tree": "c7f17e9f1586c51207d598890d4d0d49fa871693",
      "parents": [
        "dab2ad85dab534fb0488ce530d5231261c56487c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 23 22:07:39 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 23 22:07:39 2008 +0000"
      },
      "message": "Add automake support for building the Java library.\n\nIf java, javac, and ant are all available, the Java library will be built as part of the standard make target.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665494 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "132cc46d07a2b92f273b37f4c163b03a001f1a5a",
      "tree": "ab49fe619b0ab636dbf9b2ac02a464d3f2f9d01d",
      "parents": [
        "1e62ab468cda132ae29b849d7c1ea4eac141140b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 21 22:49:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 21 22:49:58 2008 +0000"
      },
      "message": "Rename TJSONProtocol.java -\u003e TSimpleJSONProtocol.java\n\nSummary:\nChad Walters is developing a full-featured JSON-based protocol for Java,\nso we\u0027re renaming the existing protocol to something more descriptive.\nI also edited the file to rename the class and add to the header comment.\nI have no idea if Subversion does explicit rename tracking, or if\ngit svn is smart enough to mark renames as such, but I would predict\n\"yes\" to both.  Let\u0027s find out.\n\nReviewed By: mcslee, jssarma\n\nTest Plan: Ran \"ant\" in lib/java\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665492 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c005b1b65ed24bba18e843c85b9a2a281bfec265",
      "tree": "94f0ec3d3776882ec3364bbfca09183798324890",
      "parents": [
        "9ff3b9d5fc823fdc0d25cb3e034b00d098ebbdda"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 15 01:38:18 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 15 01:38:18 2008 +0000"
      },
      "message": "Thrift: Distinguish between string and binary types in C++ and Java.\n\nSummary:\nThe upcoming TJSONProtocol handles string and binary types quite differently.\nThis change makes that distinction in all parts of the C++ binding.\n\nJava already distinguished between string and binary, but this change\nalso updates the Java skip method to skip over strings as binary\nso we don\u0027t get encoding errors when skipping binary data.\n\nReviewed By: mcslee\n\nTest Plan: make check\n\nRevert Plan: ok\n\nOther Notes:\nI just pulled this out of Chad Walters\u0027 JSON patch.\nThe only other change was adding readBinary (or was it writeBinary)\nto TDenseProtocol.  Maybe inheriting from TBinaryProtocol wasn\u0027t a good idea.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665481 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c90f6f8af1d64ec9272bb2f6092336f3d0b8df8",
      "tree": "15245f459a76acc769d8fe99179176b4965bf66d",
      "parents": [
        "3160971286aea0d5b28d5a7a87acaa8a12209ef8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:18:40 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:18:40 2008 +0000"
      },
      "message": "Thrift: Whitespace cleanup.\n\nSummary:\n- Expanded tabs to spaces where spaces were the norm.\n- Deleted almost all trailing whitespace.\n- Added newlines to the ends of a few files.\n- Ran dos2unix on one file or two.\n\nReviewed By: mcslee\n\nTest Plan: git diff -b\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665467 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "737ce021d1eebc100df83ee04489cb85e4a5f56c",
      "tree": "64aff389ccd28928321428dafe975bb2c1e3498b",
      "parents": [
        "1c4ced7409e86f64b449b4e33cf0a50b7f1e4c34"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Jan 15 02:59:12 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Jan 15 02:59:12 2008 +0000"
      },
      "message": "Add some more TThreadPoolServer constructors\n\nSummary: Change the default to Executors.newCachedThreadPool() which is a good default and basically what we should always want.\n\nReviewed By: dreiss\n\nTest Plan: Run a Java server with default args\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665424 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "19c9777583bf4614a237be824bbed80fa6db9213",
      "tree": "3b3d94d10fb25b1f88b843132fc9768260896786",
      "parents": [
        "89f57164215850cc1b0d12460ce242a44a4143af"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 10 19:57:47 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 10 19:57:47 2008 +0000"
      },
      "message": "Chagnge TThreadPoolServer in Java to use SynchronousQueue by default\n\nSummary: Read the documentation on ThreadPoolExecutor. It\u0027s very confusing. Basically, what we want is a queue that always defers to the threadpool and will always create a new thread to do work. We never want the queue to take priority over the thread pool by default.\n\nReviewed By: dreiss\n\nTest Plan: Run a Java Thrift server\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665419 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ddd2f13faa12c5a45ebafcb229c570031678a78",
      "tree": "5e0aae6deaa0b22edf4746ac048580c0c50cf57c",
      "parents": [
        "5f54566f8ad4bac927de425dee555b9627957533"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Dec 17 09:49:10 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Dec 17 09:49:10 2007 +0000"
      },
      "message": "Thrift: Fix a bug in the Java runtime.\n\nReviewed By: mcslee\n\nTest Plan: Looked at the C++ version side-by-side.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665396 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4a15eb7f7114e1ef585365c0cbcd2fb0de982d27",
      "tree": "ff7e90e571cf3fc8ebb0f933a75ea2d410b83d41",
      "parents": [
        "adad4ab20356d4c16f2df521b205aae7272c105f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 14 22:14:47 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 14 22:14:47 2007 +0000"
      },
      "message": "Thrift: Maximum read length for Java.\n\nSummary:\nA feature to improve handling of invalid wire data by the Java Thrift library.\n\nReviewed By: mcslee\n\nTest Plan: I trust Dave Engberg.\n\nRevert Plan: ok\n\nOther Notes:\nSubmitted by Dave Engberg.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665393 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f60467efc9d11804f6d38370c4b90fa39e2262df",
      "tree": "1ef6ef64560e907eaf2db066d6e08233dc6906f9",
      "parents": [
        "6f9ac3ffeb408392d1c3bb3945fe5b261f9e7817"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Nov 29 02:57:34 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Nov 29 02:57:34 2007 +0000"
      },
      "message": "Custom HTTP headers patch from Dave Engberg\n\nReviewed By: mcslee\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665380 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d602f822d50bec166cd34c8ece170b13694268a9",
      "tree": "de260a0f17222f6899e945103103febafa68f26a",
      "parents": [
        "b22df7c9639335ce336ba977312b2ad25180595e"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 02:45:13 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 02:45:13 2007 +0000"
      },
      "message": "Complete the proper handling of all special characters in JSON strings for TJSONProtocol\n\nReviewed By: dreiss\n\nTest Plan: test/java/TestClient\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665373 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fe6ed0dff423a405fabd61e4bef3e490506ba2ba",
      "tree": "a39ff94461ace23e965070c21954a2051342990d",
      "parents": [
        "256bdc444866b90bbdccfb5343e9c9ea8c22603c"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Nov 27 21:54:38 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Nov 27 21:54:38 2007 +0000"
      },
      "message": "Clean up the TSerializer\n\nSummary: Nested Transport subclass wasn\u0027t necessary, add comments\n\nReviewed By: dreiss\n\nTest Plan: Same as before, test/java/TestClient\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665369 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "844ac12489600d7647f01ab4f9b99d9e1b81e69e",
      "tree": "95e8c0b69f48680209948d5f3df5dad8602ea5bc",
      "parents": [
        "5ab570558f55d73472fbf6c0e66e6e165093c7d8"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Nov 27 08:38:52 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Nov 27 08:38:52 2007 +0000"
      },
      "message": "TJSONProtocol writing support in Java\n\nSummary: TJSONProtocol for Java with write support and a TSerializer utility for easier conversion of Thrift objects into byte[] or strings.\n\nReviewed By: dreiss\n\nTest Plan: Included a basic piece of this in test/ client for Java.\n\nRevert: OK\n\nDiffCamp Revision: 3890\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665367 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "a1d4cab45f1d061e6121a7ed6b826dc79beca02a"
}
