)]}'
{
  "commit": "4473f017130d829a6d067908b3331a3595133a25",
  "tree": "4ecdf232719128e9f3f388d0fa545ad0571c51be",
  "parents": [
    "1fc51c305b4b77365b3119062332843956b1be77"
  ],
  "author": {
    "name": "Mike Frysinger",
    "email": "vapier@google.com",
    "time": "Fri Jun 09 23:28:11 2023 -0400"
  },
  "committer": {
    "name": "Mike Frysinger",
    "email": "vapier@google.com",
    "time": "Fri Jun 23 00:42:43 2023 -0400"
  },
  "message": "pre-upload: flip hook progress output style\n\nCurrently the hook status line shows how many hooks have been run,\nand what the current hook being executed is.  This is fine for a\nsingle-threaded model, but is confusing if we want to run hooks in\nparallel.  So flip the status to show all the running and pending\nhooks.  This is a bit more verbose, but it\u0027s the only way to really\nrepresent the work that is being done.\n\nIn practice, many of the hooks are very fast, so the long line will\ncollapse very quickly to something more manageable.  If the line is\ntoo long for the current terminal, we will chop it.\n\nOld:\n[RUNNING 2/13] hooks_unittest\nNew:\n[RUNNING 4/13] shell_unittest, config_unittest, utils_unittest, ...\n\nBug: None\nTest: `./pre-upload.py` output\nChange-Id: I280682c93ae4164adf210ba5d4a54867af377e85\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6c43c42be0a4397b632c01484d12755f2a8eda3b",
      "old_mode": 33261,
      "old_path": "pre-upload.py",
      "new_id": "daf308594a33efa1d05dccad9af4871e3ccfd3a4",
      "new_mode": 33261,
      "new_path": "pre-upload.py"
    }
  ]
}
