)]}'
{
  "log": [
    {
      "commit": "948f0301255759957e148a5a99aa3844c644c99c",
      "tree": "5c8131baeb54bf3615e1310435b551f0acfce08d",
      "parents": [
        "5ec97b8249e8b7c97c2af2bcb9c9ae60255fe07e"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Mon Jan 07 10:59:08 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Mon Jan 07 10:59:08 2013 -0800"
      },
      "message": "oft: support prefixing test names with ^ to remove them from the test set\n"
    },
    {
      "commit": "6242d9f6474fa78b2d1c5db116831dc15ce00b6e",
      "tree": "e7ed7d1549020dea63fda35c63b832bb39b4c554",
      "parents": [
        "ea5060dff597e6e722ce49ec6f0116b6b7d5776d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Sun Jan 06 17:35:39 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Sun Jan 06 17:35:39 2013 -0800"
      },
      "message": "move and check in OpenFlow protocol modules\n\nMove all the protocol code out of the oftest package and into a of10 package to\nprepare for supporting more OpenFlow versions.\n\nThe generated code is now checked-in to make it simpler to use OFTest.\n\nBackwards compatibility with out of tree tests is maintained by aliasing the\nold module names. The basic test module has been changed to use the new API.\n"
    },
    {
      "commit": "ea5060dff597e6e722ce49ec6f0116b6b7d5776d",
      "tree": "6cdc417b2b075144a854fca1f283317e9221ee84",
      "parents": [
        "95f078b7d0dcc168c9e92f037812d3b3075ef0f8"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Sun Jan 06 13:59:00 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Sun Jan 06 14:07:07 2013 -0800"
      },
      "message": "update documentation\n\nDeveloper-only documentation was moved to DEVELOPING. Redundant usage\ninformation was removed from oft.\n"
    },
    {
      "commit": "95f078b7d0dcc168c9e92f037812d3b3075ef0f8",
      "tree": "ddc19940a0e43bd4523f4da94e34c8491996c27d",
      "parents": [
        "1dfd9f11bd2d7f83e1adbe434f2b131f829774fd"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Sun Jan 06 13:24:58 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Sun Jan 06 13:55:27 2013 -0800"
      },
      "message": "oft: improve help text\n"
    },
    {
      "commit": "1dfd9f11bd2d7f83e1adbe434f2b131f829774fd",
      "tree": "47efd597b03444114f5a57da9777ef6bc304b8b7",
      "parents": [
        "68edb3d70b2caf228d3b007ce2dd04ac0e37cb30"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 17:01:01 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 17:01:01 2013 -0800"
      },
      "message": "oft: make --verbose the default and add --quiet to negate it\n"
    },
    {
      "commit": "68edb3d70b2caf228d3b007ce2dd04ac0e37cb30",
      "tree": "ee6fc6fb38a09fb39d570caa0753ef54cee4b016",
      "parents": [
        "1568b65686666e28e4e216856096e3b69b901d9f"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 17:00:26 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 17:00:26 2013 -0800"
      },
      "message": "oft: always make unittest.TextTestRunner verbose\n"
    },
    {
      "commit": "1a08d236008a4a24777bfba93a789122745933d9",
      "tree": "b4b4af4f8fd8fcbb5800f27bfc0ad9cf8ee4209a",
      "parents": [
        "1cc22fd5b7b1414831f83a9d49a171117d32f3ae"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 16:03:50 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 16:03:50 2013 -0800"
      },
      "message": "oft: add test-file option\n\nThis option reads a file that has one test name or group name per line.\nWhitespace and comments starting with \u0027#\u0027 are ignored. The resulting tests are\nunioned with those given on the command line.\n\nThe main usecase for this is freezing a set of tests to be run against a\nswitch. You can use the --list-test-names option to get the current set of\ntests in a format suitable for use with this option, then manually edit\nit to add, remove, and comment tests.\n"
    },
    {
      "commit": "1cc22fd5b7b1414831f83a9d49a171117d32f3ae",
      "tree": "d880542d7d199bf1575344d5667f3b3a13fa7e03",
      "parents": [
        "adf64b10a5f5f74c159c99c3d4eac1c5c9d89a37"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 15:48:30 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 15:48:30 2013 -0800"
      },
      "message": "oft: remove profile feature\n\nThis was rarely used and will be replaced with the test-file feature.\n"
    },
    {
      "commit": "adf64b10a5f5f74c159c99c3d4eac1c5c9d89a37",
      "tree": "2605dc0c91ad8336575880ccda1f6fbee7c60c5a",
      "parents": [
        "9527101cbf353f23f6fc616077ca1fae4746992d",
        "37f4211a4e12181744f0236f65e9050967eee782"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 15:32:01 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 04 15:32:01 2013 -0800"
      },
      "message": "Merge branch \u0027annotations\u0027\n\nConflicts:\n\toft\n"
    },
    {
      "commit": "80efd65292c3d4f4fb81fb0c4c0bc5b8724b86e7",
      "tree": "7f12714470bdb15a66d29c9803f4a0a23991e349",
      "parents": [
        "ed130657116d17d08623f7cabaac2e2ca1146554"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 14:05:20 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 18:03:45 2013 -0800"
      },
      "message": "oft: handle missing test module/class docstrings\n"
    },
    {
      "commit": "37f4211a4e12181744f0236f65e9050967eee782",
      "tree": "4d70c6959e2859bf77e050125b9314349acf5fc5",
      "parents": [
        "e811e7bf91b21ee7e03de0996c21861501df0131"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 13:41:49 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 13:41:49 2013 -0800"
      },
      "message": "oft: output available test groups in --list\n"
    },
    {
      "commit": "e811e7bf91b21ee7e03de0996c21861501df0131",
      "tree": "a7afa1138beb93028a38c3dff9d4f1e04a18801e",
      "parents": [
        "5164517e65d49491b641ede42751983e52077586"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 13:36:54 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 13:36:54 2013 -0800"
      },
      "message": "oft: improve --list output for disabled and non-standard tests\n"
    },
    {
      "commit": "5164517e65d49491b641ede42751983e52077586",
      "tree": "a1f1b32709275d2715109074962ad99986526a2f",
      "parents": [
        "4113a5837ee172d2a67ee4db6ced4d960e18e8d0"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 10:17:16 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 10:17:16 2013 -0800"
      },
      "message": "oft: remove unused command line options\n"
    },
    {
      "commit": "4113a5837ee172d2a67ee4db6ced4d960e18e8d0",
      "tree": "9cf28ac98c4db24d7d90462fbf662b4563676c46",
      "parents": [
        "d8e454841a0b082ca792f121f7e370f8270fffb6"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 10:13:02 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 03 10:13:02 2013 -0800"
      },
      "message": "oft: improve help text\n"
    },
    {
      "commit": "d8e454841a0b082ca792f121f7e370f8270fffb6",
      "tree": "ce41af978e5088d955ff7fb52232ed3117c0720a",
      "parents": [
        "97e9965c918bcf05f563d9977b6cf9f28e6044d3"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 17:36:21 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 17:36:21 2013 -0800"
      },
      "message": "oft: list all tests for --list, not just the ones matching the test spec\n"
    },
    {
      "commit": "c76b09a91b9085fc905b44d4b72a119a06febb7f",
      "tree": "fa7e3aff368b0086b99ff8cfd713f68250e5c9f0",
      "parents": [
        "cc45b8ed30ae043f5883ad7f9fb5fbaffc328940"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 16:53:22 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 17:13:53 2013 -0800"
      },
      "message": "oft: accept test/group names in positional arguments\n\nThe --test-spec option is now deprecated and will be removed.\n"
    },
    {
      "commit": "cc45b8ed30ae043f5883ad7f9fb5fbaffc328940",
      "tree": "21eed19ad40782544b383b37004c58afc8ffe22a",
      "parents": [
        "0a4f6377b4bbd222e442f17a8429064bccecea01"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 15:55:02 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 15:55:02 2013 -0800"
      },
      "message": "rewrite test spec code in terms of groups\n"
    },
    {
      "commit": "0f5b9c7830726eab86adb4f977dcf3610e0a44c3",
      "tree": "4c00fc9f47413a6c37502a3c5a769eaba9f67cdd",
      "parents": [
        "ed130657116d17d08623f7cabaac2e2ca1146554"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 14:05:20 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Jan 02 14:05:20 2013 -0800"
      },
      "message": "oft: handle missing test module/class docstrings\n"
    },
    {
      "commit": "2c7812ce1e1d869eb3dfa0e59bf96b386d95c0f1",
      "tree": "68654d4d40452b9aa2137047180ce496eab52998",
      "parents": [
        "e1b8da9513d907758fef264839c56fab09761c95"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Dec 27 17:52:23 2012 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Dec 27 17:52:23 2012 -0800"
      },
      "message": "use a single dataplane instance for all tests\n\nCreating and destroying dataplane instances was taking about 1/3 of the total\nruntime.\n"
    },
    {
      "commit": "71d887d2e3836649b650939ee3c1e6e91cde16e2",
      "tree": "408c152cd1b3b59b0199afb21ff9b271686b7fb1",
      "parents": [
        "82ef183784dfddd4fc790ea50fe7d04ea149d86f"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Sat Dec 22 17:05:13 2012 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Sat Dec 22 17:05:13 2012 -0800"
      },
      "message": "include milliseconds in log timestamps\n"
    },
    {
      "commit": "c93b7d35fa33720bf6c2e5852b879946f3fb5c54",
      "tree": "dafd63363b6c972bdc05d08ad3baa6c2df4aa7be",
      "parents": [
        "b7f12466ae1b55525d260591cba1e762e63de433"
      ],
      "author": {
        "name": "Shudong Zhou",
        "email": "shudongzhou@gmail.com",
        "time": "Mon Nov 26 17:55:36 2012 -0800"
      },
      "committer": {
        "name": "Shudong Zhou",
        "email": "shudongzhou@gmail.com",
        "time": "Mon Nov 26 17:55:36 2012 -0800"
      },
      "message": "Add run_test_list, simple version\n"
    },
    {
      "commit": "69ca4d6f9345e031b701d0ea62e5bcfed66139d6",
      "tree": "f38bf5368e140026c0c1337723e58ea8d910eb91",
      "parents": [
        "afcf467ee2c362c8e7445d84a61467e191bf5ceb"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Thu Nov 15 11:50:22 2012 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Thu Nov 15 11:50:22 2012 -0800"
      },
      "message": "Support active connect, overwrite log\n\nAdded options:\n  --switch-ip   If set, actively connect to this switch on controller-port\n  --log-append  Append to existing log\n\nThe default log file generation behavior has changed.  By default, now\nover-write the existing log.  To have the old append behavior, use the\n--log-append option.\n\nActive switch connections have been tested, but not exhaustively.  It\nshold still be considered experimental.  The old behavior (listen for\nswitch connections) should be unchanged.\n"
    },
    {
      "commit": "51590f6dcaf651356a63d8a5449a885a7acfbca8",
      "tree": "f3879c3e5b6da4cca9ce3f52504c6b6736607629",
      "parents": [
        "8260a2dd049a2dc9976ad23b935a7cb948b09714"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Tue Oct 09 15:06:29 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Tue Oct 09 15:06:29 2012 -0700"
      },
      "message": "add platforms dir to the pythonpath\n"
    },
    {
      "commit": "8260a2dd049a2dc9976ad23b935a7cb948b09714",
      "tree": "4c506cc2f171153a90473f67ae80d87b5e761f58",
      "parents": [
        "e703c6801ddb686e042bc82589e1ae4a7a4b1a41"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Tue Oct 09 14:58:35 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Tue Oct 09 14:58:35 2012 -0700"
      },
      "message": "add --priority option for minimum test priority\n"
    },
    {
      "commit": "e703c6801ddb686e042bc82589e1ae4a7a4b1a41",
      "tree": "b1b5baf8e137b8adeb15936f143dcb0dc18b96c7",
      "parents": [
        "1a8d5aab3d18952a4d03e166e1c9a39b64dbad5a"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Mon Oct 08 15:45:24 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Mon Oct 08 15:45:51 2012 -0700"
      },
      "message": "add short option -v for --verbose\n"
    },
    {
      "commit": "483e15412b1c3902ec398cdaa7c79d9cec147d76",
      "tree": "302725431e1f75b7e72397c621bd1039e4bf053e",
      "parents": [
        "b90a1c4dfc0cfe40251187124ff89d7651f2755d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Oct 05 09:29:39 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Oct 05 18:10:21 2012 -0700"
      },
      "message": "remove test_dir from the platform import path\n\nAll python files under test_dir are considered tests.\n"
    },
    {
      "commit": "477f4817eedc0ef6306459de1f88d77739bee7cf",
      "tree": "2133c905fdd5da93949bd4cc8bb343be93370b1c",
      "parents": [
        "d1d9c287220588b5e8cff337f4f136ab9660a235"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Oct 04 22:49:00 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Oct 05 12:30:31 2012 -0700"
      },
      "message": "add a global config dictionary\n\nThere was no need for each test module to keep a copy for itself. This means we\ncan also get rid of test_set_init.\n"
    },
    {
      "commit": "d1d9c287220588b5e8cff337f4f136ab9660a235",
      "tree": "3b5439219990b915babac00fae72ae4b6eb9b1b9",
      "parents": [
        "15f64de4174aeba38652a360d480e7567b2ea531"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Oct 04 22:07:10 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Oct 05 08:44:34 2012 -0700"
      },
      "message": "define priorities as a property on the test class\n\nThis is just cleaner than keeping a global dictionary.\n"
    },
    {
      "commit": "15f64de4174aeba38652a360d480e7567b2ea531",
      "tree": "d8d9d104a55fc038aa31190c21b6df1e63c53be6",
      "parents": [
        "943be671b60dfcce829f177984c8ae82e0925fa8"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Oct 04 21:25:57 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Oct 05 08:44:34 2012 -0700"
      },
      "message": "centralize test-spec parsing and matching\n\nThis cleans up the code and fixes inconsistencies between different users of\nthe test-spec.\n"
    },
    {
      "commit": "943be671b60dfcce829f177984c8ae82e0925fa8",
      "tree": "cd8ccbc34053a2b5e9eaefd0ed9456855c09d1fb",
      "parents": [
        "7bfaeb42d985cd7168001f376bca615ae314ffa3"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Oct 04 19:20:16 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Oct 05 08:44:34 2012 -0700"
      },
      "message": "simplify test list generation\n\nos.walk is used instead of find/grep. All python files in the test directory\nare imported and used as modules if they define a subclass of\nunittest.TestCase. A single datastructure of tests cases is produced instead of\ntwo.\n"
    },
    {
      "commit": "a92f2526be41f5334728f36be4b6d6dd4db6f46e",
      "tree": "fdddd0d859e98741cc87b1b4b5cfbcfb65e05d6f",
      "parents": [
        "5bd6cf94def52d433139d430cc34a6c1c49f8fd8"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Oct 04 18:11:04 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Oct 05 08:44:34 2012 -0700"
      },
      "message": "remove unnecessary uses of eval\n\nThere are easier ways to do everything that was being done with eval.\n"
    },
    {
      "commit": "5bd6cf94def52d433139d430cc34a6c1c49f8fd8",
      "tree": "aa1acfca857ee652ec3f66cc90e9eea2c028349a",
      "parents": [
        "9a00381ec150547bc039a60b5c5f0269bc0a8dfb"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Oct 04 17:57:24 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Oct 05 08:44:31 2012 -0700"
      },
      "message": "fix SIGINT handling\n"
    },
    {
      "commit": "b0470146defb891d7428b781b1539b9db65ee9fd",
      "tree": "494f58297e022836fe6bc2679b383ff000dba3df",
      "parents": [
        "2a3bbb4f5d7e1cdd48704a53d8d8f22c5590abbc"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Oct 04 15:50:35 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Oct 04 17:28:05 2012 -0700"
      },
      "message": "exit with a nice error message when missing message classes\n"
    },
    {
      "commit": "fadf3459b641ddadf1cf2d9cd17f0b75580dc8ba",
      "tree": "a78e75430ecd3b10495fc39dc4d8f5dc15d12a4d",
      "parents": [
        "ac2da802cf0a04fae33f486513fecaa6aa39340d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Oct 03 16:23:37 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Oct 03 16:23:37 2012 -0700"
      },
      "message": "fix import path issues when running from a symlink\n"
    },
    {
      "commit": "e284b6bfcebcfd7782431ecfda3d570f9281401a",
      "tree": "36b3c4fe37bb0ea46f69e2cc69e7a328f64be517",
      "parents": [
        "da3b5ad89ce995cbc3a08dfff06dcb4f66f85578"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Oct 03 09:19:58 2012 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Wed Oct 03 10:15:33 2012 -0700"
      },
      "message": "move oft script to the top level\n"
    }
  ]
}
