)]}'
{
  "commit": "1bc87b98dd407ae95195ba3bda008d1b5c317a2f",
  "tree": "fd64ba25672dd9fda53c15ad9b505c2f8e820683",
  "parents": [
    "051de4028634f52d36c76936e1845b88e444e0b9"
  ],
  "author": {
    "name": "Lalit Maganti",
    "email": "lalitm@google.com",
    "time": "Wed Sep 09 18:04:00 2026 +0100"
  },
  "committer": {
    "name": "Lalit Maganti",
    "email": "lalitmaganti@gmail.com",
    "time": "Wed Sep 09 20:51:55 2026 +0100"
  },
  "message": "tp: publish completed bundles atomically\n\nWrite bundles through a base AtomicFile helper and publish with Commit()\n\u0026\u0026 only after the archive is complete and flushed. Preserve existing\noutput on failure, reject identical input/output files, and clean up\ntemporary files on ordinary failures without changing signal or\nsubprocess handling.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e7e66723cf275038fef0a9867607daf042ce81a4",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "62233d8365b1aaaf34de6e99b4d0505aad6a987d",
      "new_mode": 33188,
      "new_path": "Android.bp"
    },
    {
      "type": "modify",
      "old_id": "6e664d7451baaa9d38a73fe4f378f4106f96a930",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "3addae257da97a00e08f52e25dcd479789210d20",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "f0eeaf1d57d031fcc651cd21675d5f81bb7ab6f9",
      "old_mode": 33188,
      "old_path": "docs/learning-more/symbolization.md",
      "new_id": "2eaa5285f946f3d4af4b620b49e71ad996a9f7c3",
      "new_mode": 33188,
      "new_path": "docs/learning-more/symbolization.md"
    },
    {
      "type": "modify",
      "old_id": "5c90ab685ea5ae3e2b77409c6829b8a67a249feb",
      "old_mode": 33188,
      "old_path": "docs/reference/trace-processor-cli.md",
      "new_id": "5b31de08efed20133558075237faf5f28d4a6817",
      "new_mode": 33188,
      "new_path": "docs/reference/trace-processor-cli.md"
    },
    {
      "type": "modify",
      "old_id": "9fc08762219830a5cabc6908e75dd37cdad17210",
      "old_mode": 33188,
      "old_path": "include/perfetto/ext/base/BUILD.gn",
      "new_id": "3953a6660063db308760b2025b5764cee747edf5",
      "new_mode": 33188,
      "new_path": "include/perfetto/ext/base/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7f3aadc7ee73b272beff9a20cf4f90348487ce05",
      "new_mode": 33188,
      "new_path": "include/perfetto/ext/base/atomic_file.h"
    },
    {
      "type": "modify",
      "old_id": "a5a83538f237ea809f0db5c62d92499e7011b0b3",
      "old_mode": 33188,
      "old_path": "include/perfetto/ext/base/file_utils.h",
      "new_id": "ca8bc01110767191d0efe16b2dc160af7497cfe8",
      "new_mode": 33188,
      "new_path": "include/perfetto/ext/base/file_utils.h"
    },
    {
      "type": "modify",
      "old_id": "8866d327ca1096f54617db2db37b036417a7df35",
      "old_mode": 33188,
      "old_path": "src/base/BUILD.gn",
      "new_id": "a5b4920ecdc11c7372e6d41cac30fa12885ac581",
      "new_mode": 33188,
      "new_path": "src/base/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "88501fc9e21b00ee5e87091581f3d43ae21624bd",
      "new_mode": 33188,
      "new_path": "src/base/atomic_file.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eeab51f05e6c4ad691d41b0bd982dcd651820590",
      "new_mode": 33188,
      "new_path": "src/base/atomic_file_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "a0d8521eb6d1219717e528bcf2f70c965f5b3da1",
      "old_mode": 33188,
      "old_path": "src/base/file_utils.cc",
      "new_id": "79a98599f02bb630a55354570d4f7df72550a7a4",
      "new_mode": 33188,
      "new_path": "src/base/file_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "0756714727124c89ec42871460b65c9d9075dc0c",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/bundle_integrationtest.cc",
      "new_id": "41d6779d2ca2011019da0c94c43a413aa198b12a",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/bundle_integrationtest.cc"
    },
    {
      "type": "modify",
      "old_id": "2ea702b98a6fbd2f19bc6b97568b12c507494070",
      "old_mode": 33188,
      "old_path": "src/trace_processor/shell/bundle_subcommand.cc",
      "new_id": "ac530f3dcde6075a3c89aab90bf9ed65d2f2cdd8",
      "new_mode": 33188,
      "new_path": "src/trace_processor/shell/bundle_subcommand.cc"
    },
    {
      "type": "modify",
      "old_id": "54634d541a021169e1eb6f116a483ae532628797",
      "old_mode": 33188,
      "old_path": "src/traceconv/trace_to_bundle.cc",
      "new_id": "d4ca9a835f8d661d4b9232c2c474fa9d519159a6",
      "new_mode": 33188,
      "new_path": "src/traceconv/trace_to_bundle.cc"
    }
  ]
}
