)]}'
{
  "commit": "15b801e2d52bfad40fd47798b00ad2e2c64dae76",
  "tree": "63a79ddc541fd4bad44bd230803f429064f26729",
  "parents": [
    "cea074c65731ceb4cbb1985388634c16b4c74479"
  ],
  "author": {
    "name": "Daniele Di Proietto",
    "email": "ddiproietto@google.com",
    "time": "Thu Jun 30 12:56:13 2022 +0100"
  },
  "committer": {
    "name": "Daniele Di Proietto",
    "email": "ddiproietto@google.com",
    "time": "Thu Jun 30 14:55:53 2022 +0100"
  },
  "message": "gn: Minimize rebuilding when commit hash changes\n\nToday, src/base:base depends on a generated header that embeds the\nperfetto version (therefore the repository commit hash).\n\nSince almost everything depends on src/base:base, when the commit hash\nchanges, everything is rebuilt.\n\nThis is kind of wasteful when changing commits often (e.g., when doing\nbisects).\n\nThis commit fixes the problem by putting version header into its own gn\ntarget, which is going to be depended on by only a few other targets.\n\nThis avoids, for example, rebuilding the protoc_plugin, which triggers\nthe recompilation on most of the perfetto code.\n\nChange-Id: I68140570e1abda489d9f30582eed5f8ddb7b3ead\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c75212bdc0eb7dc34ea2546657414c407d3c9ff3",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "a02d3ba213cd819864a65618aa992b211a400d13",
      "new_mode": 33188,
      "new_path": "Android.bp"
    },
    {
      "type": "modify",
      "old_id": "c5b4be26143a957a5ad2a58b6ccc1014fdc835fd",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "db272f18860e87b25e82c442202bc3f469e821e7",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "8f95e394f6bc8944255d772f395b4f6f0b7008dd",
      "old_mode": 33188,
      "old_path": "include/perfetto/ext/base/BUILD.gn",
      "new_id": "ab499e0bc02676a4d9818a9f95718f6a9b487314",
      "new_mode": 33188,
      "new_path": "include/perfetto/ext/base/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "47748464b393965ac82315f6ec381928b03d79bb",
      "old_mode": 33188,
      "old_path": "src/base/BUILD.gn",
      "new_id": "51ef3e90384160260803b3c7095d31de6413c7e1",
      "new_mode": 33188,
      "new_path": "src/base/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "74ca8fbad96deceea04d8c05013d7f8fa9637a4e",
      "old_mode": 33188,
      "old_path": "src/perfetto_cmd/BUILD.gn",
      "new_id": "d402e1f78dfc3e8a62f36f3d52b5c16ddd33f492",
      "new_mode": 33188,
      "new_path": "src/perfetto_cmd/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "94d436e7ab9eb3e688f9c5a29a9fc64eb033e9cb",
      "old_mode": 33188,
      "old_path": "src/protozero/filtering/filter_util.cc",
      "new_id": "01a0bb49db49a383c37b2ddfacfa68c55d26b0d5",
      "new_mode": 33188,
      "new_path": "src/protozero/filtering/filter_util.cc"
    },
    {
      "type": "modify",
      "old_id": "670fa163d21cb3e387d9a09eca8bd4e562097ae4",
      "old_mode": 33188,
      "old_path": "src/tools/proto_filter/BUILD.gn",
      "new_id": "0cfed49c566abd3a51c7b86732229fd3a2be7504",
      "new_mode": 33188,
      "new_path": "src/tools/proto_filter/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "15311d4407daa5b7e7e30d442ae5ebb7ed234c45",
      "old_mode": 33188,
      "old_path": "src/tools/proto_merger/BUILD.gn",
      "new_id": "6ba15892bda75145104c177fe0f4a4f215e22031",
      "new_mode": 33188,
      "new_path": "src/tools/proto_merger/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "bd5c02c44ee25dc7358b2d23be64cbe73f61f7c7",
      "old_mode": 33188,
      "old_path": "src/trace_processor/BUILD.gn",
      "new_id": "c692f8af60e11f6305cb7981ec3f4af343556844",
      "new_mode": 33188,
      "new_path": "src/trace_processor/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "7246ec11dacbf419a1e53102194ac026e585266c",
      "old_mode": 33188,
      "old_path": "src/trace_processor/rpc/BUILD.gn",
      "new_id": "4d314141e1829a9efcf39c65e88a0fd01af4811d",
      "new_mode": 33188,
      "new_path": "src/trace_processor/rpc/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "93606b73aae4655016c3f242ccf98acecdd5ad6d",
      "old_mode": 33188,
      "old_path": "src/traceconv/BUILD.gn",
      "new_id": "544d9a936f0dfbd6d60126946387083470b65da1",
      "new_mode": 33188,
      "new_path": "src/traceconv/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "c60ba9504e4735b24ffa51054d57f26e1b7a7816",
      "old_mode": 33188,
      "old_path": "src/traced/probes/BUILD.gn",
      "new_id": "48f01e52ce160048ccd3f4b32b83764c2af0a194",
      "new_mode": 33188,
      "new_path": "src/traced/probes/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "2ff000718dc8667bfc8208dbd97ee3719c43a0a2",
      "old_mode": 33188,
      "old_path": "src/traced/service/BUILD.gn",
      "new_id": "e0770dbffedce49d7ca393760302abc82761c290",
      "new_mode": 33188,
      "new_path": "src/traced/service/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "e082c0889a2e1193ff33ca05b96098e1cdc74e77",
      "old_mode": 33188,
      "old_path": "src/tracing/core/BUILD.gn",
      "new_id": "6371094f8e6efa05d2703a9d71a250bde24aa4d9",
      "new_mode": 33188,
      "new_path": "src/tracing/core/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "8d3753939c316fe10d94c078c9727889bf151485",
      "old_mode": 33188,
      "old_path": "src/tracing/ipc/producer/BUILD.gn",
      "new_id": "a6b28d798b6a407d669cbe1cda335ab34081caed",
      "new_mode": 33188,
      "new_path": "src/tracing/ipc/producer/BUILD.gn"
    }
  ]
}
