)]}'
{
  "commit": "91ae5ecbd64ea79b0cadddcd13fe6b1746fb7f04",
  "tree": "9ce9873f540c4ea1bf172be29d66a12fd88cd394",
  "parents": [
    "7297f05ee8cda422ccb32c4af4d9d715d6bac10e"
  ],
  "author": {
    "name": "Colin Cross",
    "email": "ccross@android.com",
    "time": "Tue Oct 01 14:03:40 2024 -0700"
  },
  "committer": {
    "name": "Colin Cross",
    "email": "ccross@android.com",
    "time": "Mon Oct 07 04:26:19 2024 +0000"
  },
  "message": "Convert sabi to TransitionMutator\n\nThe sabi mutator walks static dependencies of native libraries with ABI\nstability guarantees (LLNDK, APEX, or cross-partition) and sets a flag\nthat causes the modules to generate additional rules to extract the ABI\nfrom each source/object pair, combine them, and add a rule that diffs\nthem against the checked in version.  In order to remove top down\nmutators that mutate dependencies, convert it to a transition mutator.\n\nThis may cause the same static library code to be compiled identically\ntwice with and without the configuration, but there are relatively\nfew static libraries that are dependencies of stable ABI libraries.\nIf the cost of compiling these static libraries becomes too high this\ncan be replaced with something like Bazel aspects, where the stable\nABI library visits its static dependencies and adds extra rules to\ngenerate the sabi dumps.\n\nBug: 367784740\nTest: TestSabi\nFlag: EXEMPT refactor\nChange-Id: Ie6bd44680afdca15b09ba0b64ed0df9964a936a6\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a8ff47468fcf7b1946b1f760f58994c321de174f",
      "old_mode": 33188,
      "old_path": "cc/cc.go",
      "new_id": "1b7624d4d3e166edaf91e8431445e4f49fe3f922",
      "new_mode": 33188,
      "new_path": "cc/cc.go"
    },
    {
      "type": "modify",
      "old_id": "988d55a841609be4d1d296be1f8b76aa0fd256fe",
      "old_mode": 33188,
      "old_path": "cc/library.go",
      "new_id": "988a7fa0b8218cace1b67f958fcab12fd084b721",
      "new_mode": 33188,
      "new_path": "cc/library.go"
    },
    {
      "type": "modify",
      "old_id": "64eab4160508703d7123a8abbf48c5059570f7f5",
      "old_mode": 33188,
      "old_path": "cc/sabi.go",
      "new_id": "2caf0d4704e6955957fd0b60fd8be2c54d37b922",
      "new_mode": 33188,
      "new_path": "cc/sabi.go"
    },
    {
      "type": "modify",
      "old_id": "849fc36e8c795ce984ce799901e35c871e66044b",
      "old_mode": 33188,
      "old_path": "cc/sabi_test.go",
      "new_id": "6b8cc175943dbca94a23a84770c53f75b6d95977",
      "new_mode": 33188,
      "new_path": "cc/sabi_test.go"
    }
  ]
}
