)]}'
{
  "log": [
    {
      "commit": "81b473b4a15db38b9f0e9220cfb7a30e371dd273",
      "tree": "f09b3209521c4afaf2999d27d69f4832091abdfc",
      "parents": [
        "1d8b75297176d810aa63b5f58f3269b8ddca133a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:58:41 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:58:41 2008 +0000"
      },
      "message": "Fix warning in generated source for alterl bindings\n\nSummary:\n  - Was previously including both the fall-through to the base service as well as the \"dummy\" fallthrough function clause. This generated a warning like:\n\n  gen-erl/redacted_thrift.erl:134: Warning: this clause cannot match because a previous clause at line 132 always matches\n\n  Now we only include the \"dummy\" function if there is no base class to fall through to.\n\nTest plan: Generated tutorial.thrift and shared.thrift, compiled without warnings\n\nNotes: It\u0027s probably possible to have a circular inheritance graph, which would cause an infinite loop at runtime. Do we care about this?\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666423 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1d8b75297176d810aa63b5f58f3269b8ddca133a",
      "tree": "9dd4dd0b251a5efcf76104db9db170d5ec44ed2c",
      "parents": [
        "55ff70f8d65ca7f3aa3eaf906d95f82a17be7c92"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:58:33 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:58:33 2008 +0000"
      },
      "message": "Implement inheritance in the alterl generator\n\nSummary:\n  - Simply forwards function_info calls through to the base service\n\nTest plan: cpiro will test it?\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666422 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cdf8d1994a4fb39029964af0d4dc4a636029ab92",
      "tree": "4fa0602e3b2b8e529dd123c999acc8cc4c93aaa3",
      "parents": [
        "fc44c41253a5d56e15facadeef3677162ae6f90f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:57:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:57:35 2008 +0000"
      },
      "message": "Implement async_void in alterl bindings\n\nSummary:\n  - reply_type for async void functions is now async_void instead of\n    the empty struct definition\n  - async void functions should return \"ok\". otherwise the processor\n    will crash and the connection will be killed. Is this behaviour\n    expected?\n\nTest Plan: tested using testAsync() in ThriftTest. Didn\u0027t used to work\n           but works now\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666415 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "982c72de7b412c95de1878d0ab8b859977188ff0",
      "tree": "1898b85a73e35cd847548a4d2066ac91716a1496",
      "parents": [
        "eea8298ee36ea7e9a04b71e059915e8e89f2886f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:33 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:33 2008 +0000"
      },
      "message": "Properly handle exceptions\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666384 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "11300fe8726715e068c00aeb6b85421c73e0c01a",
      "tree": "f32343bb31266ea41ce361cb9feb692d4534906a",
      "parents": [
        "0c9b516506acf7074ac61f74525e1aaec3a35aa8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:52 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:52 2008 +0000"
      },
      "message": "Properly uncapitalize package names when referencing structs\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666379 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c9b516506acf7074ac61f74525e1aaec3a35aa8",
      "tree": "da950d6ebae8fd29f5063854bf451492f65335de",
      "parents": [
        "76f0d11dc90ceb910375042d23509e6bc0c3a6ec"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:44 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:44 2008 +0000"
      },
      "message": "Fix generation when multiple services are in the same service definition\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666378 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "76f0d11dc90ceb910375042d23509e6bc0c3a6ec",
      "tree": "496d1e0415d41346fc04fca4d3dd1858f72a9d35",
      "parents": [
        "1c1ca74237bee683cf05eff54ee844156ad5e905"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:35 2008 +0000"
      },
      "message": "Generator for alternative erl bindings, as well as a few more changes to lib code.\n\n- Exceptions don\u0027t work yet, but it looks like everything else does.\n- Seems to work fine on our pricing service\n- Code could need some cleanup\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666377 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a1e0a6f0d8c419447fcb95fcb914a9543677bb32",
      "tree": "8ff8439f92769fd68ad2d2956e39f0ad61ef841b",
      "parents": [
        "87e9ac638241ca215846bb7643ef8af4ec6fe893"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:43 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:43 2008 +0000"
      },
      "message": "Don\u0027t generate a constants file if there are no constants (Java only).\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666372 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "87e9ac638241ca215846bb7643ef8af4ec6fe893",
      "tree": "aa6298cfe6c425b536ed27ca4796417f9ef3fd32",
      "parents": [
        "5245f40b3e13c65ef6537a8121b74128a9e61ed4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:34 2008 +0000"
      },
      "message": "Fix a bug with initialization in JavaBean-style generated code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666371 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d14f4f86d4a521dd2327789f9230ab239b1c342b",
      "tree": "64b9ee47ac05fd26f09e7abc6e12d937bb20bbbc",
      "parents": [
        "c0092f973d79f309c1b89ae5e55ad8094b87763a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:54 2008 +0000"
      },
      "message": "Fix some indentation in the PHP generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666366 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c0092f973d79f309c1b89ae5e55ad8094b87763a",
      "tree": "3e9d66208cb0969f0d0b8e65c566f5f592adc092",
      "parents": [
        "b04df765b5c9fe1b8fb6ded0ed2750188278fe50"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:46 2008 +0000"
      },
      "message": "PHP Generator: Throw an exception on bad types.\n\nSummary:\nPreviously, if you set a structure field to, say, an int when it was\nsupposed to be a container (array) or struct (object), the serialization\ncode would either produce corrupt output (container) or cause a fatal\nerror (struct).  Now they both throw exceptions.\n\nReviewed By: mcslee\n\nTest Plan: Looked at generated code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666365 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c89e4de50947b91b658a952da4671033e333c9df",
      "tree": "4b7d431be0260678ba883ed87652b88541b557c7",
      "parents": [
        "7dab93e23790f6a2d647ad5d4a7a34f24a464778"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:32 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:32 2008 +0000"
      },
      "message": "Make sure list\u003cbyte\u003e is List\u003cByte\u003e in Java gen\u0027d code.\n\nReviewed By: dreiss\n\nTest Plan: Generate list\u003cbyte\u003e into Java\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666357 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "de59292f38e11e738a34c8bd2f722beb128c752e",
      "tree": "7af7fb093b13a8bab87370d32064664a5d653033",
      "parents": [
        "f233e46a2dc705f017d5980baa6ad97922b72291"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 20:51:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 20:51:03 2008 +0000"
      },
      "message": "Remove an unnecessary include of boost/lexical_cast.hpp\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665678 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "28f298dd5d9b68c9c0dbaefa95c88d51ed8e430a",
      "tree": "4c089343bfd96f8eddb653ec2f746a27d7a8ec9a",
      "parents": [
        "9a4edfa07fe0c09865015a15d26695823cd4a5fd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "message": "Memory-based transport rewrite.\n\nThe old implementations of the memory-based transports (TBufferedTransport,\nTFramedTransport, and TMemoryBuffer) shared very little code and all worked\na bit differently.  This change unifies them all as subclasses of a single\nbase (TBufferBase) which handles the fast-path operations (when requests\ncan be satisfied by the buffer) with inline methods (that will eventually\nbe made nonvirtual in the template branch) and calls out to pure-virutal\nmethods to handle full/empty buffers.  All of the buffer-management is now\ndone in terms of \"base and bound\" pointers rather than \"pos\" integers.\n\nThese classes were moved to TBufferTransports.{h,cpp}.  The .h is included\nin TTransportUtils for backwards compatibility.\n\nAlso added a \"TShortReadTransport\" to assist testing transports.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665676 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9a4edfa07fe0c09865015a15d26695823cd4a5fd",
      "tree": "2707bc870fa22a62e47da6add1889fb083f9a4c1",
      "parents": [
        "372126079cb1e1bce5f186293980209a0e5629ec"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:50 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:50 2008 +0000"
      },
      "message": "Properly handle constants of typedef\u0027ed types.\n\nAlso throw an error in the compiler if we cannot generate a constant for a\ndeclared const because of its type.  Added a test of this functionality in\nConstantsDemo.thrift.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665675 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "372126079cb1e1bce5f186293980209a0e5629ec",
      "tree": "1d8e865ad3452aa7bede447ca475080bff5e2b92",
      "parents": [
        "e39e9379119b99c2bad7613b8cd32c11482b9558"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:49 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:49 2008 +0000"
      },
      "message": "Eliminate an unused local variable.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665674 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "74672b6719903332c0b5969fa0bffd12c13cf121",
      "tree": "72509ae7bcf1eae8792910b26a272211b659c5f4",
      "parents": [
        "051fbd4e57ff6818231754143d67fa59b9746a4d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:09:11 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:09:11 2008 +0000"
      },
      "message": "Java: In toString for generated structs, handle nulls.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665671 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "051fbd4e57ff6818231754143d67fa59b9746a4d",
      "tree": "b8fed64d4b7619c26d596c293f52efffa570ad1b",
      "parents": [
        "c17fe6b918015166d145936414a411589f03255c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:45 2008 +0000"
      },
      "message": "Thrift REST parsing allows null object params\n\nSummary: If JSON objects are passed in allow them to be null and don\u0027\\\u0027\u0027t default construct.\n\nReviewed By: dreiss\n\nTest Plan: Regenerate API code and test on object args.\n\nRevert: OK\n\nDiffCamp Revision: 12407\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665670 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8361bf05659f9d1e458d76f8ee0657ea5e009b6a",
      "tree": "6c2387c2d329bef1a8694be964accdd59b5da207",
      "parents": [
        "b54deb1ca538b2f244225801408637aa8921d5db"
      ],
      "author": {
        "name": "iproctor",
        "email": "dev-null@apache.org",
        "time": "Thu Apr 10 00:31:55 2008 +0000"
      },
      "committer": {
        "name": "iproctor",
        "email": "dev-null@apache.org",
        "time": "Thu Apr 10 00:31:55 2008 +0000"
      },
      "message": "ocaml and haskell thrift clients now calling readMessageEnd\n\nSummary: I neglected to make the call to readMessageEnd if the client read an app exception in the haskell and ocaml code. Fixed now. The test cases for both now also compile with the new ThriftTest.thrift (though haskell\u0027s is still not doing anything but echoing  the args)\n\nReviewed By: dreiss\n\nTest Plan: Ran test code. This bug would actually never show up because there\u0027s only tbinaryprotocol implemented for these languages and that does nothing on a readMessageEnd.\n\nRevert: OK\n\nDiffCamp Revision: 11377\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665651 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c5c542538b7954c721fbd8007ebf0b482a86677a",
      "tree": "6dfec4b86d9795325235a6e313431b1dd3f6fb93",
      "parents": [
        "e9aab10d859b9ce06f2048f4522cfe69c1a4bd3a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 23:16:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 23:16:46 2008 +0000"
      },
      "message": "Fix some indentation.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665639 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8bfba63dfb8c52cfb8c785c4b19f48a5745e1d6a",
      "tree": "b60cf2c925afab805ced8e3af51cff50bad2d20a",
      "parents": [
        "cee1e085b56866b4feb9b334da5d5d8f0b79d44d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:13 2008 +0000"
      },
      "message": "C#: Generate proper code for services that inherit from other services.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665632 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "07ef3a930a8f99b41ce381f9fda3aa6785bd3956",
      "tree": "86b92faf5d3ab49a746a00486e4be38267e9d005",
      "parents": [
        "fdc21aa713ca8ddf19cd2104c4074bdd27211e05"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:39 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:39 2008 +0000"
      },
      "message": "Make the Perl generator use non-hardcoded namespaces.\n\n- Make the Perl generator use program-\u003eget_namespace(\"perl\")\n  instead of program-\u003eget_perl_package()\n- Eliminate the explicit \"perl_package\" in t_program.\n- Deprecate the perl_package token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665624 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fb63533c78a833d043b33fd2240076e22732cf19",
      "tree": "76b1ea836e058e03a9882cca3df432db3ae7ef82",
      "parents": [
        "2b386c50d7cf649c928a792bed73bcb938f8501f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:30 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:30 2008 +0000"
      },
      "message": "Remove t_perl_generator.h.\n\nt_perl_generator.h is no longer included anywhere, because\nthe Perl generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665622 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2b386c50d7cf649c928a792bed73bcb938f8501f",
      "tree": "1a8f62da88ac59b4b98eb8beca430a7c7519d3c1",
      "parents": [
        "6a4b82c4b7cc4d77daa6e11f8eb69f1a8f5e3218"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:23 2008 +0000"
      },
      "message": "Make the Perl generator dynamic.\n\n- Modify the Perl generator constructor to fit the new generic interface.\n- Register the Perl genrator with the central registry.\n- Deprecate the old way of invoking the Perl generator.\n- main.cc no longer includes t_pl_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665621 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6a4b82c4b7cc4d77daa6e11f8eb69f1a8f5e3218",
      "tree": "52df9436932d01021c366b2add36bbbe99ff0a50",
      "parents": [
        "ae253583e75b77177dd09533420561d22e1ace6b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:16 2008 +0000"
      },
      "message": "Make the Ruby generator use non-hardcoded namespaces.\n\n- Make the Ruby generator use program-\u003eget_namespace(\"ruby\")\n  instead of program-\u003eget_ruby_namespace()\n- Eliminate the explicit \"ruby_namespace\" in t_program.\n- Deprecate the ruby_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665620 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6e93b454ecc0def6e13cbcece578f9d420266966",
      "tree": "d31bab8c35fc974b179ed67fcc5b83d6bbe75b7d",
      "parents": [
        "a640cea9aed3409bef99162434c22649aa239ede"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:06 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:06 2008 +0000"
      },
      "message": "Remove t_rb_generator.h.\n\nt_rb_generator.h is no longer included anywhere, because\nthe Ruby generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665618 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a640cea9aed3409bef99162434c22649aa239ede",
      "tree": "779906e2b3795eb383986372b3bb77c2a38c3cea",
      "parents": [
        "c53b184c1235eb66d87219fcf53d38a93e998e0f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:01 2008 +0000"
      },
      "message": "Make the Ruby generator dynamic.\n\n- Modify the Ruby generator constructor to fit the new generic interface.\n- Register the Ruby genrator with the central registry.\n- Deprecate the old way of invoking the Ruby generator.\n- main.cc no longer includes t_rb_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665617 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c53b184c1235eb66d87219fcf53d38a93e998e0f",
      "tree": "01907efbb3729941b87ce8031c9b91fcef69fd0a",
      "parents": [
        "320e45ce8b1d2721a7f814c1e1a8288dba36dd14"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:58 2008 +0000"
      },
      "message": "Remove an unused helper function in the Ruby generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665616 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "320e45ce8b1d2721a7f814c1e1a8288dba36dd14",
      "tree": "a186a604ae4d58cee850d4c20da536d8f319373f",
      "parents": [
        "bfd26dcecc4c2b67814ed6d69fff65121c3a471f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:54 2008 +0000"
      },
      "message": "Make the Python generator use non-hardcoded namespaces.\n\n- Make the Python generator use program-\u003eget_namespace(\"py\")\n  instead of program-\u003eget_py_module()\n- Eliminate the explicit \"py_module\" in t_program.\n- Deprecate the py_module token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665615 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0d6eb969e1bc58d9955e0c48af6a78fb728dfdf8",
      "tree": "4afc020bd685fe5d76bd41ea4cd770aae047b755",
      "parents": [
        "558e3993e1fe5ffacc8c6339cedf3c616c5e253f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:45 2008 +0000"
      },
      "message": "Remove t_py_generator.h.\n\nt_py_generator.h is no longer included anywhere, because\nthe Python generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665613 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "558e3993e1fe5ffacc8c6339cedf3c616c5e253f",
      "tree": "7183f406a26ce52b16b54be4f4615d3112648291",
      "parents": [
        "9d65bf061f2c9876944e5eddea513a2f50d5e883"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:40 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:40 2008 +0000"
      },
      "message": "Make the Python generator dynamic.\n\n- Modify the Python generator constructor to fit the new generic interface.\n- Register the Python genrator with the central registry.\n- Deprecate the old way of invoking the Python generator.\n- main.cc no longer includes t_py_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665612 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9d65bf061f2c9876944e5eddea513a2f50d5e883",
      "tree": "13fbe4a2a8c13a611855173eade710fcdd37503b",
      "parents": [
        "ce4f4f0cbdeafa355c282b2dd9fa2161c009128f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:37 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:37 2008 +0000"
      },
      "message": "Make the C# generator use non-hardcoded namespaces.\n\n- Make the C# generator use program-\u003eget_namespace(\"csharp\")\n  instead of program-\u003eget_csharp_namespace()\n- Eliminate the explicit \"csharp_namespace\" in t_program.\n- Deprecate the csharp_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665611 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2dfdb2d7f761417856ba984cf0d7c29a0bd15f04",
      "tree": "5999e1108d3e276c91df886916f8d45937a61005",
      "parents": [
        "861869b73435d9673a2df94d1ddb480670192674"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:27 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:27 2008 +0000"
      },
      "message": "Remove t_csharp_generator.h.\n\nt_csharp_generator.h is no longer included anywhere, because\nthe C# generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\nAlso cleaned up its includes a little bit.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665609 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "861869b73435d9673a2df94d1ddb480670192674",
      "tree": "03e89b1de1fbeae161bded7a9d332b768952fc45",
      "parents": [
        "919ae80934969d9e6b44d537d5ca5cda7e75a9a9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:23 2008 +0000"
      },
      "message": "Make the C# generator dynamic.\n\n- Modify the C# generator constructor to fit the new generic interface.\n- Register the C# genrator with the central registry.\n- Deprecate the old way of invoking the C# generator.\n- main.cc no longer includes t_csharp_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665608 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "54b602b7468dd1260a3d65d389e449b572cdff0f",
      "tree": "8a9c04ebf041198e59a7e3db7c0fa1ab5ac01d96",
      "parents": [
        "4b349aabc946289a200e5691140e7000b33b9583"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:06 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:06 2008 +0000"
      },
      "message": "Make the Cocoa generator use non-hardcoded namespaces.\n\n- Make the Cocoa generator use program-\u003eget_namespace(\"cocoa\")\n  instead of program-\u003eget_cocoa_prefix()\n- Eliminate the explicit \"cocoa_prefix\" in t_program.\n- Deprecate the cocoa_prefix token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665606 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e21ce4c6ca430f093bf626175088caf2178cc2c3",
      "tree": "4ffe8efade6d91cce75c3cb7b2d96f9d7b81d095",
      "parents": [
        "d01c64dec53373a886fd1fd8de8e5c065db731c9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:59 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:59 2008 +0000"
      },
      "message": "Remove t_cocoa_generator.h.\n\nt_cocoa_generator.h is no longer included anywhere, because\nthe Cocoa generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665604 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d01c64dec53373a886fd1fd8de8e5c065db731c9",
      "tree": "44b0562b69c05aefe6756834c2a31b855bfb12e9",
      "parents": [
        "be9757568f50ed79f2d9abf2a1acf97c9582eb5d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:55 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:55 2008 +0000"
      },
      "message": "Make the Cocoa generator dynamic.\n\n- Modify the Cocoa generator constructor to fit the new generic interface.\n- Register the Cocoa genrator with the central registry.\n- Deprecate the old way of invoking the Cocoa generator.\n- main.cc no longer includes t_cocoa_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665603 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "be9757568f50ed79f2d9abf2a1acf97c9582eb5d",
      "tree": "ab47c3f545018c59559b84ce8728b4238d73bdd8",
      "parents": [
        "3b45501b5220ac2e8ab159c6cd8163467300f406"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:52 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:52 2008 +0000"
      },
      "message": "Put a newline at the end of the generated header file in the Cocoa generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665602 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3b45501b5220ac2e8ab159c6cd8163467300f406",
      "tree": "84ada6fcf29f195e6fbdcc4654fcde4d4a236f70",
      "parents": [
        "b3ac8a6c7278b26a207d7847211b61b98e84c54d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:46 2008 +0000"
      },
      "message": "Make the Smalltalk generator use non-hardcoded namespaces.\n\n- Make the Smalltalk generator use program-\u003eget_namespace(\"smalltalk.*\")\n  instead of program-\u003eget_smalltalk_{category|prefix}()\n- Eliminate the explicit \"smalltalk_{category|prefix}\" in t_program.\n- Deprecate the smalltalk_{category|prefix} tokens.\n- Update example .thrift files and syntax files.\n\nThis was a little more complex than the others.  We now convert \".\" to \"-\"\nin Smalltalk categories, because we no longer lex them as tok_st_identifier.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665601 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2b6ba090dc895152efe2d9da4b15497e92429d18",
      "tree": "b3861877ebf291e914b207829a081f330ac94398",
      "parents": [
        "a890b5714e2b556ba6f02140ce679117c183f985"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:38 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:38 2008 +0000"
      },
      "message": "Remove t_st_generator.h.\n\nt_st_generator.h is no longer included anywhere, because\nthe Smalltalk generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665599 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a890b5714e2b556ba6f02140ce679117c183f985",
      "tree": "57fd79b771a7433c6264434e5fa1ff6a10188065",
      "parents": [
        "73dc1431d1c3e9b6bd3d17dca597d1889b2ceaf4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:35 2008 +0000"
      },
      "message": "Make the Smalltalk generator dynamic.\n\n- Modify the Smalltalk generator constructor to fit the new generic interface.\n- Register the Smalltalk genrator with the central registry.\n- Deprecate the old way of invoking the Smalltalk generator.\n- main.cc no longer includes t_st_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665598 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "73dc1431d1c3e9b6bd3d17dca597d1889b2ceaf4",
      "tree": "8f0280f2da02fdf5cf6e50d109aee55fed8f008d",
      "parents": [
        "22812f8be82d2e2336a0a99950940c743375a76c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:30 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:30 2008 +0000"
      },
      "message": "Make the Smalltalk generator respect the \"-o\" flag.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665597 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "42e6d5143761fc0e20254a46a15e3da59ca0ac51",
      "tree": "b733c5f9f50edbbcae7084e696357155fcd0bb4e",
      "parents": [
        "af3ab2619d7969ac5bb685d8a8915750dadc6c18"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:20 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:20 2008 +0000"
      },
      "message": "Remove t_hs_generator.h.\n\nt_hs_generator.h is no longer included anywhere, because\nthe Haskell generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665595 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af3ab2619d7969ac5bb685d8a8915750dadc6c18",
      "tree": "994ff1148ca0919dc0fdd409a75612e7cd77262b",
      "parents": [
        "3d671b5e537482e40e4869dbe0235edf496b3184"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:16 2008 +0000"
      },
      "message": "Make the Haskell generator dynamic.\n\n- Modify the Haskell generator constructor to fit the new generic interface.\n- Register the Haskell genrator with the central registry.\n- Deprecate the old way of invoking the Haskell generator.\n- main.cc no longer includes t_hs_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665594 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7bb71df6efb2529ea3f3d1baf86fb6f102ca3e4f",
      "tree": "1f3f8abd28f9f4be38f26ec447f0c3c3e1cb4891",
      "parents": [
        "f0521b1305aaa0900f02a09ac743cef21f4befe7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:08 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:08 2008 +0000"
      },
      "message": "Remove t_ocaml_generator.h.\n\nt_ocaml_generator.h is no longer included anywhere, because\nthe Ocaml generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665592 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f0521b1305aaa0900f02a09ac743cef21f4befe7",
      "tree": "e9c7cbfffb6b5264309106f8bcfd1f5d5857fd69",
      "parents": [
        "b4d7b89efd635c8ca2407c63a73ed7ab0983fbd1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:05 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:05 2008 +0000"
      },
      "message": "Make the OCaml generator dynamic.\n\n- Modify the OCaml generator constructor to fit the new generic interface.\n- Register the OCaml genrator with the central registry.\n- Deprecate the old way of invoking the OCaml generator.\n- main.cc no longer includes t_ocaml_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665591 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b4d7b89efd635c8ca2407c63a73ed7ab0983fbd1",
      "tree": "7f36e5d368379e505a7419cec5ff57184d15170a",
      "parents": [
        "237171ee8118396fd45db8ac039832932c69992a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:01 2008 +0000"
      },
      "message": "Make generate_program virtual.\n\nHaskell and OCaml need to override this to put typedefs at the end.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665590 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "237171ee8118396fd45db8ac039832932c69992a",
      "tree": "ffec101a6d757e35d2a7fdc468cec0abb87345cf",
      "parents": [
        "d6609e2b627d69aa191376bcd47046a627aa91d3"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:39:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:39:58 2008 +0000"
      },
      "message": "Whitespace-only change for consistency.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665589 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4b83d6ddeb2d9b5a4102839cfe0d38fe2c72411d",
      "tree": "254b2086eba00521b2344439afe70d34f0a5f0a0",
      "parents": [
        "2d2aa145b4b9595fb128009536528ce533df1be1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 19:45:19 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 19:45:19 2008 +0000"
      },
      "message": "Allow nested namespaces to be used in perl.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665584 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c703cc2f8dd85016a2d7f19b31b09aee42361e0",
      "tree": "f80d0a968b72b463989fb04fe6cd9ed8446f19b8",
      "parents": [
        "0b8a382c00c6756bd4611e2aa7545d8fe8e82598"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 25 18:38:56 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 25 18:38:56 2008 +0000"
      },
      "message": "Fix some small bugs in the Perl generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665582 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "62f0d5428d00281ca412164c478c850cfa45305d",
      "tree": "e64d65d9996c9a3e779ff35a31b51d1923b00d6d",
      "parents": [
        "9cc63b53ef0ed88ee96cb5584504ff1b38d62288"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 21 21:50:41 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 21 21:50:41 2008 +0000"
      },
      "message": "Remove an unnecessary \"else\" from the generated Thrift code.\n\nThe \"if\" block here always results in a return (or an exception),\nso there is no need for an \"else\".  We can just put the rest of the code\nunder the \"if\" block.  This actually makes a little more sense because\nthe \"if\" block here is an exceptional case.\n\nAlso deleted a stale comment.\n\nReviewed By: lhastings\n\nTest Plan: diff\u0027ed the old and new code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665580 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "dcdf25b003ea0caedcbeda5c700144416faaee52",
      "tree": "3a908c0ecf4b40e831dcb7eccdca718af30be2c3",
      "parents": [
        "d92ca7dcea105837e3e576f797501c19929eced5"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Mar 19 20:16:35 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Mar 19 20:16:35 2008 +0000"
      },
      "message": "Fix compiler __construct gen in php\n\nReviewed By: dreiss\n\nTest Plan: Build payments\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665578 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cdfbeb8d756c3f76fa2ac8a62e48ca81e46674f1",
      "tree": "8f33378a18ddd7bd94f1eac7ab16264d77aee778",
      "parents": [
        "b79acc9f60aabcc9ad203d65e758cb2445763854"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 18 18:22:14 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 18 18:22:14 2008 +0000"
      },
      "message": "Public access to the protocols in C# Thrift clients.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665573 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b79acc9f60aabcc9ad203d65e758cb2445763854",
      "tree": "cfebe1bc7bf3029f8d2b352dec000309b8d0314f",
      "parents": [
        "8f3bce4153a17dbf6a188bb80f589eadbd0de5e2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 18 18:21:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 18 18:21:58 2008 +0000"
      },
      "message": "Some optimizations to the C# generated code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665572 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "21c95a31ee8228009469a8d63f4f33d509f11819",
      "tree": "3f10d3862facc81bed68feeac6bcbf32deea99b9",
      "parents": [
        "85c44c559b01a7106e1033b1c55548f16c9f8328"
      ],
      "author": {
        "name": "Christopher Piro",
        "email": "cpiro@apache.org",
        "time": "Wed Mar 12 04:28:43 2008 +0000"
      },
      "committer": {
        "name": "Christopher Piro",
        "email": "cpiro@apache.org",
        "time": "Wed Mar 12 04:28:43 2008 +0000"
      },
      "message": "[thrift] cleanup generated trailing whitespace in php\n\nSummary: Verfolgenplaatze sind verboten!\n\nReviewed By: kder\n\nTest Plan: no\n\nRevert Plan: yes\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665569 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6b53bbb77881ceb149e468e7e5082f82b50c07d9",
      "tree": "227086b49c7ee1ae3ebda22156179e0c0c08033d",
      "parents": [
        "840ca085fcfe737554ede28088d4ae9adf457216"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Tue Mar 11 02:42:45 2008 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Tue Mar 11 02:42:45 2008 +0000"
      },
      "message": "[thrift] Move readMessageEnd inside of else block for accelerated protocol\n\nSummary: Otherwise, readMessageEnd will be performed twice; once in the extension and once in PHP-land. Since TBinaryProtocol readMessageEnd is a no-op this isn\u0027t a huge deal, but it\u0027s bad style.\nReviewed By: mcslee\nTest Plan: Inspect generated php code\nRevert: OK\nTracCamp Project: Thrift\nDiffCamp Revision: 9155\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665567 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0e913a6381c5dc6b50460d18e2490165db4de629",
      "tree": "681dccaa3dad3e3df98fcd1a105f57ea02ca8c89",
      "parents": [
        "84e63abf2ef29725b45a0266a94abffe27046ed7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:28:31 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:28:31 2008 +0000"
      },
      "message": "Add an accessor for the I/O protocols of Thrift clients.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665565 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6987535d65529be108f36a51f8a603d675c89e16",
      "tree": "88c53c8a2595b4c02eb43360bdc33630b4c4b070",
      "parents": [
        "4ac9267cf8f38d1b802ccb95e0e978414118b4fe"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 04 21:10:41 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 04 21:10:41 2008 +0000"
      },
      "message": "Change the Java help to be a little more consistent.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665553 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4ac9267cf8f38d1b802ccb95e0e978414118b4fe",
      "tree": "a495baf23169c49c1f0b058db83de6014c8737c4",
      "parents": [
        "a014788f732e20484d6e8f24180f663c64643d1f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 04 21:10:38 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 04 21:10:38 2008 +0000"
      },
      "message": "Don\u0027t declare getStaticLimitedReflection if gen_reflection_limited_ is off.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665552 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a014788f732e20484d6e8f24180f663c64643d1f",
      "tree": "f68a9610711b479ac513d573231f8b5f09f4e521",
      "parents": [
        "cdd6f3c029657ca8ac97393f6d76b89b6616b470"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 04 21:10:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 04 21:10:34 2008 +0000"
      },
      "message": "Changed an awkward if/else if/else to be slightly less awkward.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665551 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cf997a45c6a79ff662679003fa0904c9a73454de",
      "tree": "dc1e849874bebf959d4f91ed2c91a9de3a312a3a",
      "parents": [
        "9f646157f0c22f021343df778df5ed3fcd8da933"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Tue Mar 04 01:08:23 2008 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Tue Mar 04 01:08:23 2008 +0000"
      },
      "message": "[thrift] PHP thrift_protocol extension, revision 2.0\n\nSummary:\n  All PHP serialization and deserialization can now happen in extension-land,\n  which should be much faster. This includes reading message headers and all\n  complex types (structs, exceptions, whatever).\n\n  The compiler has been updated to always emit the $_TSPEC static array for\n  generated PHP code, since the new extension depends on it.\n\n  As before, the PHP code gates enabling the accelerated serialization on\n  the protocol being an instance of TBinaryProtocolAcclerated and the function\n  for the [de]serialization operation existing.\n\n  The function names have changed since the last version of the extension,\n  so old and new generated code can coexist, and new generated code can run on\n  a server with the old extension (but it will not use accelerated serialization).\n\nReviewed by: hzhao\nTest Plan: Generated a couple of endpoints and called their services through the\n  new extension. Both use a variety of nested complex types. Built and ran the\n  extension in php-5.2.3 in debug mode, killed the reported memory leaks.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665548 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "14feb4127c03bf164c0268eb2c0c29f2fb308bae",
      "tree": "a9311e43cb20e7a51f336b248c01129b0d6a83fb",
      "parents": [
        "3b15ebc251adc63d9c330c50e9a399e8117bdf35"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 06:29:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 06:29:23 2008 +0000"
      },
      "message": "Generate quality overrides of hashCode for Thrift structs (in Java).\n\nThis feature is turned off by default because it adds a new dependency:\nApache Commons Lang.  This package seems enough like Boost that\nI would be open to turning this feature on by default.\n\nAlso updated test/java/build.xml to use this new option.\nant test still passes.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665542 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": "cf2e8d9af3650212ed02d61e3f21c4eb29c6ffa4",
      "tree": "02b83d98f94b303593ea224b91a59bc60d57a358",
      "parents": [
        "f0cf2a37456034d699b396b7f9cdd28ba467500e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 19:38:51 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 19:38:51 2008 +0000"
      },
      "message": "Add an operator\u003c for Thrift structs (in C++).\n\nSome people want to use sets of Thrift structs.  This has interesting\nimplications, but it is a reasonable request.  However, in C++,\nthis requires structures to have a less-than operator.\nIt seems a little dangerous to auto-generate an arbitrary comparator,\nbut allowing users to define their own operator\u003c implementations\nseems fine.  This change makes that a lot easier.\n\nThe one downside of this change is that developers who try to compare\nstructures with operator\u003c (including trying to make sets of them)\nwill now get a linker error instead of a compiler error.\nHowever, the old compiler error was so scary that\nI\u0027m not sure this is any worse.\n\nReviewed By: kholst, mcslee\n\nTest Plan: make check\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665527 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4ce2874fd50acaff7fa5b0f571098f50623752cc",
      "tree": "13ff8f760b0cc738314c5d2c0c73b5c2050eff30",
      "parents": [
        "9db977f5bd83bf7a2c915d1bdd0397e902f52d2f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 07:45:05 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 07:45:05 2008 +0000"
      },
      "message": "Make limited reflection optional (off by default).\n\nLimited reflection is deprecated, and it is slowing down compilation.\nThis change will disable generation of static reflection by default,\nbut it adds a command line argument to re-enable it.\n\nTested by running make check and building the C++ test client and server.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665520 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b1b8079e62e6bfffd171da8406370dd26dfb2071",
      "tree": "07100f219331a02a0f9d44170078951c468a82b0",
      "parents": [
        "e8a87de8676cf8043dce97be59d03bef3b477299"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 27 04:29:34 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 27 04:29:34 2008 +0000"
      },
      "message": "Make compiler work on cpp_includes with \u003c in them\n\nReviewed By: spiantino\n\nTest Plan: build multifeed aggregator\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665518 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "771f8c797b1920919aadcb63d9e1dab3cd1905f6",
      "tree": "11945ee5d4ae72ac951021b83b4007c2ef45edf8",
      "parents": [
        "9a08dc6184cd0c3fd3d774fcf3f0a4233e28975f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:25 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:25 2008 +0000"
      },
      "message": "Make the Java generator use non-hardcoded namespaces.\n\n- Make the Java generator use program-\u003eget_namespace(\"java\")\n  instead of program-\u003eget_java_namespace()\n- Eliminate the explicit \"java_namespace\" in t_program.\n- Deprecate the java_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665514 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": "dc61be96505383f8832da53ca41a6d13b15bcd5c",
      "tree": "8f271b4f9446a8a0a2d6980f1f8e7f48b515218c",
      "parents": [
        "e1404d21ac1276176167cf11d7ad0150a9178dae"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:09 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:09 2008 +0000"
      },
      "message": "Remove t_java_generator.h.\n\nt_java_generator.h is no longer included anywhere, because\nthe Java generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\nAlso cleaned up its includes a little bit.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665511 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e1404d21ac1276176167cf11d7ad0150a9178dae",
      "tree": "cd299020e9f2528831b720eefb5139c1de556a90",
      "parents": [
        "52812f98db860d1703b08cebefa61fd2a89e899c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:05 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:05 2008 +0000"
      },
      "message": "Make the Java generator dynamic.\n\n- Modify the Java generator constructor to fit the new generic interface.\n- Register the Java genrator with the central registry.\n- Deprecate the old way of invoking the Java generator.\n- main.cc no longer includes t_java_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665510 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "52812f98db860d1703b08cebefa61fd2a89e899c",
      "tree": "53ab0145d23194215e7c67ac788b413a4a0c8c4b",
      "parents": [
        "400cd4be38bc422859b9506fb084495a1ac78e6d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:54:59 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:54:59 2008 +0000"
      },
      "message": "Remove t_cpp_generator.h.\n\nt_cpp_generator.h is no longer included anywhere, because\nthe C++ generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\nAlso cleaned up its includes a little bit.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665509 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "400cd4be38bc422859b9506fb084495a1ac78e6d",
      "tree": "f54823038e89a0108aba66bba10509099c7a9de1",
      "parents": [
        "bd0db88477f02c67962c638c8dfb5f2bb6619144"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:54:55 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:54:55 2008 +0000"
      },
      "message": "Make the C++ generator dynamic.\n\n- Modify the C++ generator constructor to fit the new generic interface.\n- Register the C++ genrator with the central registry.\n- Deprecate the old way of invoking the C++ generator.\n- main.cc no longer includes t_cpp_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665508 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bd0db88477f02c67962c638c8dfb5f2bb6619144",
      "tree": "78d7a68eed551cfa2220b0e025d326ae377bc578",
      "parents": [
        "9cc2c137102ce4b5a2e0d362832ea1021c20ca19"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:54:51 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:54:51 2008 +0000"
      },
      "message": "Infrastructure for loading code generators a bit more dynamically.\n\nAdd a generic and easy-to-use mechanism for Thrift code generators to\nregister themselves centrally.  The central registry is used to\nobtain documentation for the options accepted by individual generators\nand get instances of individual generators.  It also does a little bit of\noption parsing that will be useful for all generators.\n\nObviously, this change cannot be tested on its own.  I can only say\nthat Thrift still builds and runs correctly.  Subsequent changes\nwill apply this infrastructure to specific code generators.\nSteve Grimm has assured me that this is standard Git practice.\n\nIn fact, I ran this test after converting the C++ and Java generators:\n\ndreiss@dreiss-vmware:dynamic_generators:thrift/test$ mkdir old new\ndreiss@dreiss-vmware:dynamic_generators:thrift/test$ cd old\ndreiss@dreiss-vmware:dynamic_generators:thrift/test/old$ ../../compiler/cpp/thrift -cpp -dense -java -javabean ../DebugProtoTest.thrift\n[WARNING::1] -cpp is deprecated.  Use --gen cpp\n[WARNING::1] -java is deprecated.  Use --gen java\n[WARNING::1] -javabean is deprecated.  Use --gen java:beans\ndreiss@dreiss-vmware:dynamic_generators:thrift/test/old$ cd ../new/\ndreiss@dreiss-vmware:dynamic_generators:thrift/test/new$ ../../compiler/cpp/thrift --gen cpp:dense --gen java --gen java:beans ../DebugProtoTest.thrift\ndreiss@dreiss-vmware:dynamic_generators:thrift/test/new$ cd ..\ndreiss@dreiss-vmware:dynamic_generators:thrift/test$ diff -ur old/ new/\ndreiss@dreiss-vmware:dynamic_generators:thrift/test$\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665507 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0e18224473b8bad918e060900663a9d0058d7196",
      "tree": "c236a35c417419cf2feb1474650ad4f8a8b5b225",
      "parents": [
        "68ccc699a398ed47cde0ad1d405f94241fed6068"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 26 06:40:25 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 26 06:40:25 2008 +0000"
      },
      "message": "Tighten integration with Ruby exceptions by tying in Exception#message\n\nFor Thrift exceptions that contain only a single string field, integrate\nthese even more tightly with Ruby exceptions by aliasing Ruby\u0027s\nException#message field with the Thrift field.\n\nRuby exception objects created by Thrift will now display properly in\nRuby backtraces, etc. without any special handling by client code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665503 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "68ccc699a398ed47cde0ad1d405f94241fed6068",
      "tree": "2a073766f174b8a2997b1cd4d6e7a250b35f8265",
      "parents": [
        "ebbfbd83956e3e85c9be7b419b0f4d2748f866e7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 26 06:40:22 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 26 06:40:22 2008 +0000"
      },
      "message": "Move Ruby fielded object creation from generated constructor to ThriftStruct\n\nRather than the generated code needing to handle simple fielded\ncreation of objects, the ThriftStruct module constructor is extended to\nhandle hash arguments. Statements such as\n\n  o \u003d ThriftObject.new :field1 \u003d\u003e value1, :field2 \u003d\u003e value2, ...\n\nare supported as before, and the string form,\n\n  o \u003d ThriftObject.new \"field1\" \u003d\u003e value1, \"field2\" \u003d\u003e value2, ...\n\ndisabled by the previous patch now also works.\n\nPlacing this code in the module is also just a cleaner solution.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665502 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ebbfbd83956e3e85c9be7b419b0f4d2748f866e7",
      "tree": "f460e3687af91cebff22586d4901ff66aec8aaf4",
      "parents": [
        "01d187cb801a3c0462af337a8f0b6f0e2b1f2ec3"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 26 06:40:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 26 06:40:16 2008 +0000"
      },
      "message": "Ruby exception constructor bugfix\n\nThe Ruby exception constructor is modified to accept 0 arguments, which is\nhow Thrift library code creates exception objects. Without this fix, Thrift\nRuby clients that receive exception objects crash.\n\nThe call to super (resolving to ThriftStruct#initialize) is retained, but\nis called with the default value (an empty hash) instead of passing the\nmessage along.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665501 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c91d07c784e603dfb49a0721bab34b0ff960fc3f",
      "tree": "b712a555168d5adc8b96ac6da3de9d38e2c205f0",
      "parents": [
        "399442be815c460065766e4b45ba754b3ca4ab32"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 20 05:30:55 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 20 05:30:55 2008 +0000"
      },
      "message": "Fix a typo in the C# generator.\n\nActually, it is not a typo.  The original authors didn\u0027t convert one call\nto get_java_package to get_csharp_namespace.\n\nTested by building Thrift.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665489 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": "bbf8062e4f37bde9e698e080b9f2017dd93bbfc6",
      "tree": "883f1be4df3f4c040478be5211426882b3ce6921",
      "parents": [
        "260a5fa08e87643bd5c001cc25311e9074795cfc"
      ],
      "author": {
        "name": "eletuchy",
        "email": "dev-null@apache.org",
        "time": "Wed Feb 13 22:44:24 2008 +0000"
      },
      "committer": {
        "name": "eletuchy",
        "email": "dev-null@apache.org",
        "time": "Wed Feb 13 22:44:24 2008 +0000"
      },
      "message": "[thrift] making generated php struct readers more compact\n\nSummary: introducing a $bin_accel variable in struct reader scope that\n         can be reference by the deserializers of each field\n\nReviewed By: dreiss, mcslee\n\nTest Plan: regenerated a thrift service, compared before and after calls\n\nRevert Plan: sure\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665478 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "dd43eb85c767118c89137dc5ac5b9f29f2cc80f6",
      "tree": "f1bd76bf202f2dd0eb2698be83ffca1c4c06bca1",
      "parents": [
        "bd03e3e40e4117ffb32fe5d4ed703f0f7c233680"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 13 22:03:15 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 13 22:03:15 2008 +0000"
      },
      "message": "Fix Java generator for javabean target to construct maps and lists properly\n\nSummary: From Johann Oskarsson\n\nReviewed By: dreiss\n\nTest Plan: Generate javabean code\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665476 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "55aebc404b52971909e8edd41c03c49b398698c1",
      "tree": "58d7626ad280c9f1a195df797a58b1dee4574c63",
      "parents": [
        "407c9e7865ba63409bb842b9286f18fb3d19abc5"
      ],
      "author": {
        "name": "iproctor",
        "email": "dev-null@apache.org",
        "time": "Mon Feb 11 22:59:01 2008 +0000"
      },
      "committer": {
        "name": "iproctor",
        "email": "dev-null@apache.org",
        "time": "Mon Feb 11 22:59:01 2008 +0000"
      },
      "message": "Thrift haskell getTransport working\n\nSummary: getTransport is now a method of Protocol. To flush the transport one does tflush (getTransport p) instead of pflush p. This is more like how it is done with other languages.\n\nReviewed By: dcorson\n\nTest Plan: Ran thrifttest for haskell.\n\nRevert: OK\n\nDiffCamp Revision: 7515\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665473 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "407c9e7865ba63409bb842b9286f18fb3d19abc5",
      "tree": "bfe219a24694b9e93e32cb6883e422fc7cc613d7",
      "parents": [
        "6756f1351a718b33a09ed17781e40339fa2ef8cf"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 09 02:51:43 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 09 02:51:43 2008 +0000"
      },
      "message": "Thrift: Fix a bug with local reflection and namespaces.\n\nSummary:\nReferences to \"local reflections\" in other thrift files were not given\nnamespace prefixes, give undefined symbol errors.  This change\ndistinguishes between relfection names being generated for declarations\n(not namespaced) and those that could be external references (namespaced).\n\nReviewed By: mcslee\n\nTest Plan:\nGot the following files to build and link correctly with -dense.\n\n\u003d\u003d\u003e test1.thrift \u003c\u003d\u003d\ncpp_namespace ns\nenum foo { bar }\n\n\u003d\u003d\u003e test2.thrift \u003c\u003d\u003d\ninclude \"test1.thrift\"\nenum dummy_enum_workaround { I_AM_A_WORKAROUND }\nstruct baz {\n  1: test1.foo qux\n}\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665472 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6756f1351a718b33a09ed17781e40339fa2ef8cf",
      "tree": "57d0542a3a675146af6fd2f69b32839396a2fddb",
      "parents": [
        "22360b2f30ae980bd78d114f1acb73a03053951e"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sat Feb 09 00:26:29 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sat Feb 09 00:26:29 2008 +0000"
      },
      "message": "Getters for input/output protocol in client lib\n\nSummary: Why not, nice to have. From Ted Dziuba.\n\nReviewed By: dreiss\n\nTest Plan: Build Java compiler.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665471 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "22360b2f30ae980bd78d114f1acb73a03053951e",
      "tree": "5b37c9da46541d9d644f5a1cbd4f09935439191b",
      "parents": [
        "a8de4895f61196d6bf139c3becbad5800b977e1c"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sat Feb 09 00:18:32 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sat Feb 09 00:18:32 2008 +0000"
      },
      "message": "Use interfaces, not classes for Java gen\n\nSummary: Not AbstractMap or HashSet, etc. use Map, List, Set\n\nReviewed By: dreiss\n\nTest Plan: Generate Java code and build java tests\n\nOther Notes: Submitted by Seth Falcon\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665470 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a8de4895f61196d6bf139c3becbad5800b977e1c",
      "tree": "f72134854794ffffcc3de95164dee0705b54c650",
      "parents": [
        "3c5d2fd9a87f3bdb07aac7afa2c50e5e90d88fa8"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sat Feb 09 00:02:26 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sat Feb 09 00:02:26 2008 +0000"
      },
      "message": "Patch from Ross McFarland to compile with strict warnings\n\nSummary: Use comment trick in params that are unused to prevent warnings\n\nReviewed By: dreiss\n\nTest Plan: Generate C++ code and compile -W -Wall\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665469 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3c5d2fd9a87f3bdb07aac7afa2c50e5e90d88fa8",
      "tree": "c25991c794c7d882faa6ced9af0534d39de7562b",
      "parents": [
        "0c90f6f8af1d64ec9272bb2f6092336f3d0b8df8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 08 21:58:06 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 08 21:58:06 2008 +0000"
      },
      "message": "Thrift: Fix a bug in local reflection generation.\n\nSummary:\nThe problem was that in generate_local_reflection, we refused to\ngenerate reflections for types defined in another program, including enums.\nBut in local_reflection_name, we treated enums like base types,\nassuming that their reflections were always defined in this program.\nOne solution would be to treat enums like base types everywhere, and always\ngenerate their reflections in the program where they were being used.\nBut this change takes the opposite approach.  We now always\ngenerate fingerprints for enums in the program in which they are defined,\neven if they are not used there.\n\nReviewed By: mcslee\n\nTest Plan:\nGot the following files to build and link correctly with -dense.\n\ndreiss@dreiss-vmware:reflection:thrift/test$ tail test[12].thrift\n\u003d\u003d\u003e test1.thrift \u003c\u003d\u003d\nenum foo { bar }\n\n\u003d\u003d\u003e test2.thrift \u003c\u003d\u003d\ninclude \"test1.thrift\"\nstruct baz {\n  1: test1.foo qux\n}\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665468 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": "46dc62950d24cf785415de040255b3b0c67ecb3a",
      "tree": "d9ef9c5a5261285903108c7cb40391ad3b07ea8b",
      "parents": [
        "cba5727a3fc49a1c8e93bc8cfd5ba4e20326cbc3"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:09:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:09:58 2008 +0000"
      },
      "message": "Thrift: Miscellaneous optimizations for C#.\n\nReviewed By: mcslee\n\nTest Plan: Built it after a future revision.\n\nRevert Plan: ok\n\nOther Notes:\nSubmitted by Ben Maurer.\nActually reviewed by Todd Berman.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665464 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cba5727a3fc49a1c8e93bc8cfd5ba4e20326cbc3",
      "tree": "adc9fabdcbf713a4c964df9f4d1469bc1bcbde6b",
      "parents": [
        "e4667378c4e30f1b7b465e89837462a2fed28b16"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:09:44 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:09:44 2008 +0000"
      },
      "message": "Thrift: String/Binary distinction for C#.\n\nReviewed By: mcslee\n\nTest Plan: Built it after a future revision.\n\nRevert Plan: ok\n\nOther Notes:\nSubmitted by Ben Maurer.\nActually reviewed by Todd Berman.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665463 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "adb5cad7d32c1dd2f11b18b8d0f14b6955df3606",
      "tree": "f4ba60ece2ddfa10e33f61a6e926ff0965a80681",
      "parents": [
        "e6ec4141a882867663eaf5664d70305d97f273fc"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Feb 04 21:34:22 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Feb 04 21:34:22 2008 +0000"
      },
      "message": "Make inner Isset classes implement serializable\n\nSummary: Since the outer class is serializable, you\u0027ll want it on the inner member too. Though in general you shouldn\u0027t be using Java to serialize Thrift objects, as that misses the point and tosses version compatibility out the window.\n\nReviewed By: dreiss\n\nTest Plan: Generate Java code\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665460 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "84e5022bfc9a815ce5f14e6effd980c6672da872",
      "tree": "39773c6d5b460db8445dce0d8751cdcb2dd4b548",
      "parents": [
        "f07d48e812e5761239c9d34cae35e52e15d1a99e"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Fri Feb 01 20:42:56 2008 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Fri Feb 01 20:42:56 2008 +0000"
      },
      "message": "[thrift] Fix generated T_LIST push_back() for cpptype override\n\nSummary: Thrift compiler emitting code missing a closing paren:\n  \"this-\u003eextras.push_back(_elem18;\"\nReviewed by: eletuchy\nTest plan: rebuild some feed code that uses cpptype overrides\nRevert: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665453 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5cf89c1610e54609b551f7d46d2745c2f16d00c2",
      "tree": "d6216bdcc63dd967a9be42f78a24edaae3785a0f",
      "parents": [
        "91f2b7b2f71dc67bc90f5eed0de99dbb9317d793"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 31 22:02:26 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 31 22:02:26 2008 +0000"
      },
      "message": "If a list has a custom CPP type, use push_back\n\nSummary: Can\u0027t deserialize by reference into std::list, for example\n\nReviewed By: dweatherford\n\nTest Plan: Build feed\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665451 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8d4b1cc3ab706c8116e279782a1773f5b011860a",
      "tree": "ab4ee06be3e218d03ae8114c40fd0e551125351f",
      "parents": [
        "61959f5d9deb0e3535ee727f0c3ca694f3b40173"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 31 00:06:29 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 31 00:06:29 2008 +0000"
      },
      "message": "Improve C++ vector deserialization\n\nSummary: Use std::vector::resize() method to default construct placeholder elements. Then grab references via operator[] to deserialize directly into the vector, instead of copy-constructing elements in.\n\nReviewed By: hzhao\n\nTest Plan: test/cpp contains list serialization/deserialization checks\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665449 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "61959f5d9deb0e3535ee727f0c3ca694f3b40173",
      "tree": "1efc3b444fd8fc78d4beda4d510992d08954fca5",
      "parents": [
        "aa93451dbfd068c4e661e646b3e8a24f1f7ee29a"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Jan 30 23:23:15 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Jan 30 23:23:15 2008 +0000"
      },
      "message": "Improve Thrift map deserialization code\n\nSummary: Instead of copy-constructing map values into the map, alter the code such that we insert default-constructed elements into the map and then deserialize them by reference.\n\nReviewed By: hzhao\n\nTest Plan: Ran the test in test/cpp which include serialization and deserialization of nested maps.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665448 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "073e2cfeb5eea795ca6941774633243d3958e970",
      "tree": "b3d5a9ce0323a63ef09638417413b22f6fd3edad",
      "parents": [
        "3e6583365a3e0106cb656765290e768f5b5077ef"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 28 20:47:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 28 20:47:00 2008 +0000"
      },
      "message": "Thrift/Ruby: Generate nicer constructors for Thrift structs.\n\nSubmitted by William Morgan.\nApproved by Kevin Clark.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665446 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3e6583365a3e0106cb656765290e768f5b5077ef",
      "tree": "f9fcb04eb2133a7761ec82871d24b9c804a55602",
      "parents": [
        "f09b8a01b1082f581442a08d6e28891e2495c0a6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 28 20:46:57 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 28 20:46:57 2008 +0000"
      },
      "message": "Thrift/Ruby: Allow some thrift exceptions to use standard Ruby syntax.\n\nSubmitted by William Morgan.\nApproved by Kevin Clark.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665445 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "050f3200a2963d00212d4f4b62acfe428ad789a6",
      "tree": "73aa94ae747a4418c1e7d5608620eded55cad734",
      "parents": [
        "5b3cbd13d60433f231697e8e39d3ffa6d73398b3"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jan 18 07:39:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jan 18 07:39:36 2008 +0000"
      },
      "message": "Thrift: Change the way constants are initialized to avoid segfaults.\n\nReviewed By: mcslee\n\nTest Plan: Looked at the patch carefully.\n\nOther Notes:\nPatch submitted by Dave Simpson.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665437 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "76f2c88edad82d3f6c0b7407295d9f7263394bdf",
      "tree": "1e86f4ba7dc0e2ddadbf3408c8a28826f55e7620",
      "parents": [
        "2e8a8d40951ba3708ddb377e90e34b270bfc5446"
      ],
      "author": {
        "name": "kholst",
        "email": "dev-null@apache.org",
        "time": "Wed Jan 16 02:47:41 2008 +0000"
      },
      "committer": {
        "name": "kholst",
        "email": "dev-null@apache.org",
        "time": "Wed Jan 16 02:47:41 2008 +0000"
      },
      "message": "thrift: Add -cpp_use_include_prefix flag to compiler\n\nSummary: Adds a new flag to allow for a mode where #include statements in generated c++ will include path context information.  For example, if my .thrift file includes \"foo/bar/baz.thrift\", the generated source files will contain #include statements like:\n\n         #include \"foo/bar/gen-cpp/baz_types.h\"\n\n         instead of just:\n\n         #include \"baz_types.h\"\n\n         -cpp_use_include_prefix is OFF by default.\n\nReviewed By: dreiss\n\nTest Plan: Tested against multiple thrift input files both with and without the new flag.\n\nRevert: OK\n\nDiffCamp Revision: 5522\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665431 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1c4ced7409e86f64b449b4e33cf0a50b7f1e4c34",
      "tree": "5abd57cb8c06fd7d62e080d417a8bd71493e2970",
      "parents": [
        "21db52de163e27f6cb01410fec812dc5f9e6e6a9"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Jan 14 23:04:43 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Jan 14 23:04:43 2008 +0000"
      },
      "message": "Generate structs/exceptions in declared order\n\nSummary: Otherwise you\u0027re liable to get forward declaration problems in the generated C++ code.\n\nReviewed By: dreiss\n\nTest Plan: Generate some code that mixes exceptions/structs and has methods potentially return a list of exceptions\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665423 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7f42bcf97c8961d5f25cb88220d0b358a1cbccae",
      "tree": "e10c327a36496b5f3b1146a2c5b84d6fb6f159bc",
      "parents": [
        "204420fa56d93adb59ac9fe339bb25e8d9b13fb2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jan 11 20:59:12 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jan 11 20:59:12 2008 +0000"
      },
      "message": "Thrift: C# Bindings.\n\nSummary:\nC# generator, library, and MS Build task contributed by imeem.\n\nReviewed By: mcslee\n\nTest Plan:\nBuilt the Thrift compiler and generated some C# code.\nI\u0027d love to say I installed Mono or Portable.NET and built the C# code,\nbut I did not.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665421 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "204420fa56d93adb59ac9fe339bb25e8d9b13fb2"
}
