)]}'
{
  "commit": "cd97d3d7a4bef1346f8a57d1216b075e97ce019f",
  "tree": "dc776d3bb42cf071e9f8b7532d8540b29255960d",
  "parents": [
    "b2b401ef00e2dc2315e16f1299d2855103f581ac"
  ],
  "author": {
    "name": "Rich Lane",
    "email": "rich.lane@bigswitch.com",
    "time": "Mon Jan 07 18:50:06 2013 -0800"
  },
  "committer": {
    "name": "Rich Lane",
    "email": "rich.lane@bigswitch.com",
    "time": "Tue Jan 08 10:09:49 2013 -0800"
  },
  "message": "minimize use of \"from module import *\"\n\nThis statement was causing strange bugs because of namespace pollution. The\norder of imports mattered because later \"from module import *\" statements would\noverwrite modules imported earlier. Transitive imports also made it difficult\nto figure out where an identifier was being imported.\n\nThis statement is still allowed in test code since nothing else should be\nimporting it.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "056f6e94e0eb383bda9c2cfad5e569e917ff6bb3",
      "old_mode": 33188,
      "old_path": "src/python/oftest/base_tests.py",
      "new_id": "367a48a8c0c5b4fbf73425a07d1f91e3b65e2d53",
      "new_mode": 33188,
      "new_path": "src/python/oftest/base_tests.py"
    },
    {
      "type": "modify",
      "old_id": "47049a091094f09b25feeb52da9b3cab9daa3194",
      "old_mode": 33188,
      "old_path": "src/python/oftest/controller.py",
      "new_id": "31da7226a5bf4cd3a4c0b015792e387f9b9cbbca",
      "new_mode": 33188,
      "new_path": "src/python/oftest/controller.py"
    },
    {
      "type": "modify",
      "old_id": "78089e34e1d56a7604c725e05b4919adf8dcd233",
      "old_mode": 33188,
      "old_path": "src/python/oftest/dataplane.py",
      "new_id": "f70de6c3faf2476c44b1445657776f170cdcd9b1",
      "new_mode": 33188,
      "new_path": "src/python/oftest/dataplane.py"
    },
    {
      "type": "modify",
      "old_id": "32fa86c94c3990c611ef335778f0c8459e5b21cf",
      "old_mode": 33188,
      "old_path": "src/python/oftest/testutils.py",
      "new_id": "ef2e517a5c7e3075ea6dbef72f7fa0ddb02975f2",
      "new_mode": 33188,
      "new_path": "src/python/oftest/testutils.py"
    },
    {
      "type": "modify",
      "old_id": "862633d9cc2d47850e4aee9804f27c0c6962609c",
      "old_mode": 33188,
      "old_path": "tests/flow_matches.py",
      "new_id": "105b17885c54dc8c5d68922f3d4bed366dba792b",
      "new_mode": 33188,
      "new_path": "tests/flow_matches.py"
    }
  ]
}
