)]}'
{
  "commit": "fa3a37c76d63950c5526ff7b0218c255617b0b31",
  "tree": "7faa265398f22b9479bad03acd72d0a70d70fb25",
  "parents": [
    "ed92828968c7e084b4a180b6730b673088d6a81f"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch@google.com",
    "time": "Thu Nov 09 18:15:27 2023 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Nov 10 02:15:27 2023 +0000"
  },
  "message": "Use merge-base in find_commit.dart (#138033)\n\nCloses #97595\r\n\r\nThe prior approach of manually diffing the entire log chain is less\r\nefficient, and only found the original branch point ignoring subsequent\r\nmerges. The limitation forced PR workflows into rebasing and force\r\npushing new history to get the branch point far enough for CI to pass.\r\n\r\nUse `git merge-base` to find the latest common commit with the main\r\nbranch.\r\nAdd an `allowFailure` argument to the `git` utility to use a more\r\nspecific failure in the case of no shared history when this command will\r\nfail with a generic error.\r\n\r\nUse `^branch` with the `git log` commands to exclude shared history and\r\nmore easily count the unique commits on each branch.\r\n\r\nDrop the `Commit` abstraction. Parse directly to timestamp or line counts.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "27e6ab6b6d84d9c187319001f469c1df4cfcb447",
      "old_mode": 33188,
      "old_path": "dev/tools/bin/find_commit.dart",
      "new_id": "6cc43cde7ff1dc88f93ee865a94868785d918b46",
      "new_mode": 33188,
      "new_path": "dev/tools/bin/find_commit.dart"
    }
  ]
}
