)]}'
{
  "commit": "f451cd89f1b5a3c2d1ef266d5444d0c42f93e322",
  "tree": "8ff317c36400e8f346e74346889f604197ffdc11",
  "parents": [
    "1cfa750b4571677a7d4f7fa988c8d7db4873126f"
  ],
  "author": {
    "name": "brandjon",
    "email": "brandjon@google.com",
    "time": "Fri Dec 28 09:29:02 2018 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-piper@google.com",
    "time": "Fri Dec 28 09:30:46 2018 -0800"
  },
  "message": "Refactor a little Python rule logic\n\nMerge PyBinary and PyTest classes into a single PyExecutable class.\n\nRELNOTES: None\nPiperOrigin-RevId: 227142490\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b24cc876fb0edcdb7661f883f9cadf64f01618d0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyBinary.java",
      "new_id": "0776e94526771276e2bdb996370d09dd55b94e81",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyBinary.java"
    },
    {
      "type": "modify",
      "old_id": "8d0660d2dde85150d49353657825907ddef7c4cb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyLibrary.java",
      "new_id": "5d2cfe95521606339070df0958dc8c0396773d31",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyLibrary.java"
    },
    {
      "type": "modify",
      "old_id": "776ceb13e494a6b3baa99fe0e4493683c43b611c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyTest.java",
      "new_id": "051ad8bb61fcd809dd838ac021dcfbe1bfb708bc",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyTest.java"
    },
    {
      "type": "modify",
      "old_id": "d22d1d78ec309eeb425bca563b72a0a731e9fdaa",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java",
      "new_id": "f960b25a77341478ee2c6d99fb13be1f68a7bc61",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java"
    },
    {
      "type": "rename",
      "old_id": "23cad73ee405578e9cb5a57f0a72d975f1df9c22",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/python/PyBinary.java",
      "new_id": "a737e8710267b93728c62236ebc7f0a3de99a6eb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/python/PyExecutable.java",
      "score": 88
    },
    {
      "type": "modify",
      "old_id": "8e229a7d15f428348254521ee174072a5fe8669b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/python/PyLibrary.java",
      "new_id": "b36bd736768276bff4e8c77f0228adf6cd128868",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/python/PyLibrary.java"
    },
    {
      "type": "delete",
      "old_id": "b398976c5bce7ac43d578b4d354277f98068350c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/python/PyTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "1092675ea719e8f4dd2cc4e45d66213b7da830b5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/python/PythonSemantics.java",
      "new_id": "2f37f56570ae8bd0d3dd8b9bf4e171eed8957c22",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/python/PythonSemantics.java"
    }
  ]
}
