)]}'
{
  "commit": "f3620553932e4e5ed98aa572bfdf40007426a2d7",
  "tree": "1a3498a9c9953073deec334472dacdc1e7155f98",
  "parents": [
    "cc7b51d2e03c05961e2649f0db396f3179dd6def"
  ],
  "author": {
    "name": "Lalit Maganti",
    "email": "lalitm@google.com",
    "time": "Thu Mar 19 18:10:22 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Mar 19 18:10:22 2026 +0000"
  },
  "message": "perfetto: add presubmit check for shell include violations (#5197)\n\n## Summary\n- Adds `CheckShellIncludeViolations` to `tools/run_presubmit` that\nensures `trace_processor/shell/` code only includes via the public API\nand approved internal directories (`shell/`, `util/`, `rpc/`,\n`*.descriptor.h`).\n- Annotates the one existing violation (`trace_summary/summary.h` in\n`summarize_subcommand.cc`) with `// no-include-violation-check`.\n\n## Test plan\n- Verified the check passes on all existing shell files\n- Verified the check correctly catches violations (e.g.\n`src/trace_processor/sorter/trace_sorter.h`) and allows permitted\nincludes",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "903e549b3dc3f27296c304a04cef032a6b445b41",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/summarize_subcommand.cc",
      "new_id": "b7ac6be1fda8a86df623a7e555cef2a7b6dfaf0a",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/summarize_subcommand.cc"
    },
    {
      "type": "modify",
      "old_id": "92ab13ed327922a6c8d6a810acd00cf4f8df051d",
      "old_mode": 33261,
      "old_path": "tools/run_presubmit",
      "new_id": "37ba2ee62b97fc1901d53070e285ede8f115c37e",
      "new_mode": 33261,
      "new_path": "tools/run_presubmit"
    }
  ]
}
