)]}'
{
  "commit": "c538b4e9949aa032ec14c82465b7d70fa34a97fd",
  "tree": "16f6995df468aabdfd6a4f3abc0ee943949d888e",
  "parents": [
    "b753e58b842175872367e87e377c4669b5037a0c"
  ],
  "author": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Mon Nov 06 19:14:32 2023 -0500"
  },
  "committer": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Tue Nov 07 21:15:43 2023 +0000"
  },
  "message": "internal/cmd/deadcode: add -whylive\u003dfunction flag\n\nThe -whylive flag explains why a function is live (not dead code),\nby displaying an arbitrary shortest path to the function from\none of the main entrypoints. Call paths from main packages (not tests),\nfrom main functions (not init functions), and involving only\nstatic calls are preferred.\n\nThe output logic is unified so that the usual mode and -whylive\nboth compute a list of JSON objects, which are then formatted\nby -json or -format\u003dtemplate.\n\nAlso, a test.\nAlso, fix the test framework to correctly handle a sequence of commands(!).\n\nFixes golang/go#61263\n\nChange-Id: I6aafc851c9c57e27a0a8f0d723e20fb2f8b57ad7\nReviewed-on: https://go-review.googlesource.com/c/tools/+/540219\nReviewed-by: Robert Findley \u003crfindley@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e01c3aaf00b775bcf7080847e66b8b1b848f84c6",
      "old_mode": 33188,
      "old_path": "internal/cmd/deadcode/deadcode.go",
      "new_id": "890fcc14f19ef838fbd9a7c07bc47822d9812ea5",
      "new_mode": 33188,
      "new_path": "internal/cmd/deadcode/deadcode.go"
    },
    {
      "type": "modify",
      "old_id": "17c588b134ed5237c753ff315a88e9bdbb76a391",
      "old_mode": 33188,
      "old_path": "internal/cmd/deadcode/deadcode_test.go",
      "new_id": "f17a122736220ad648e7f5b59e8698783af7e849",
      "new_mode": 33188,
      "new_path": "internal/cmd/deadcode/deadcode_test.go"
    },
    {
      "type": "modify",
      "old_id": "c4874d6e262f70fc54db778fc18029855eb3ca1f",
      "old_mode": 33188,
      "old_path": "internal/cmd/deadcode/doc.go",
      "new_id": "3c0e71192006c3ceb53e1ce2cdbeb6204242ce0b",
      "new_mode": 33188,
      "new_path": "internal/cmd/deadcode/doc.go"
    },
    {
      "type": "modify",
      "old_id": "cbf80ec1322a8c0ffced04ec281fc6df85af23a1",
      "old_mode": 33188,
      "old_path": "internal/cmd/deadcode/testdata/jsonflag.txtar",
      "new_id": "f0f3ab21bd01cbec4546423c811c58a394e6fe66",
      "new_mode": 33188,
      "new_path": "internal/cmd/deadcode/testdata/jsonflag.txtar"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e7b0e6e4af90e89cf9101f7ef7c0f87e1427136",
      "new_mode": 33188,
      "new_path": "internal/cmd/deadcode/testdata/whylive.txtar"
    }
  ]
}
