)]}'
{
  "commit": "b86917b2bdb755de8106aea08841c914d52d3347",
  "tree": "18727705322dc5b26584b7fe019812447f737224",
  "parents": [
    "07e6905d472157754a536564046a23654960de45"
  ],
  "author": {
    "name": "Jan Schär",
    "email": "jan@monogon.tech",
    "time": "Wed May 14 16:31:08 2025 +0000"
  },
  "committer": {
    "name": "Jan Schär",
    "email": "jan@monogon.tech",
    "time": "Mon Jun 16 15:41:59 2025 +0000"
  },
  "message": "metropolis: replace version stamp with product info\n\nThis removes the stamped metropolis version library and the associated\nstampgo infrastructure, and replaces it with the product info file.\n\nThe info is now stored in a separate file in the rootfs, instead of\nembedded in the core binary. This has the benefit that the core binary\nno longer needs to be relinked when stamping info changes.\n\nThe version logging in core/main, and the tconsole are updated to show\nsome of the additional info from the product info.\n\nChange-Id: Ic5ed0e3598e8da71b96748e8d7abfedff41acd3f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4207\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8f58a9aa3dfff9eb48c86694d18c33edc4082390",
      "old_mode": 33188,
      "old_path": "metropolis/cli/metroctl/test/BUILD.bazel",
      "new_id": "edaa1124838d503cd4234cc57c66bd47d36687c3",
      "new_mode": 33188,
      "new_path": "metropolis/cli/metroctl/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e1ca606114a2b9f409453ef8c3e375d98bb47988",
      "old_mode": 33188,
      "old_path": "metropolis/cli/metroctl/test/main_test.go",
      "new_id": "b853b82d91f29d5d2b79b501af889fc659bd4303",
      "new_mode": 33188,
      "new_path": "metropolis/cli/metroctl/test/main_test.go"
    },
    {
      "type": "modify",
      "old_id": "f267957f91622fdd4eb8f2a85428fc5ec24bf5a6",
      "old_mode": 33188,
      "old_path": "metropolis/node/BUILD.bazel",
      "new_id": "60368ffe60f472fb4268b936b2d446bf208e9287",
      "new_mode": 33188,
      "new_path": "metropolis/node/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "4e0b3b845211e9440ed568785e02b7c55a3755be",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/BUILD.bazel",
      "new_id": "de07e8c74be8ab9911d1df486e552945a5964628",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "890a30bbcecd9b7dbf145767a3afde3c6f08b101",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/main.go",
      "new_id": "2d80698116f04e2149f4253c8d018f5569158830",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/main.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c34350e035e6fc66c456beb903b36bb04f4daa62",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/productinfo/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5d66760c9ca0964e737e4414a9e94c17c18546e6",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/productinfo/productinfo.go"
    },
    {
      "type": "modify",
      "old_id": "1fb4719f850b2dbe047715c8cead3a0477e2927b",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/roleserve/BUILD.bazel",
      "new_id": "37ec6d19104f7a401fe20f899b14652496406f24",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/roleserve/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "0557b4cf63eeeecf48d702a1bae2bfd5e0021f0b",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/roleserve/worker_statuspush.go",
      "new_id": "62355bcd199207d2f606a40075e2981e82a7e031",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/roleserve/worker_statuspush.go"
    },
    {
      "type": "modify",
      "old_id": "78c5f9c0db007069cf6371d3d773e88d3d305d22",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/roleserve/worker_statuspush_test.go",
      "new_id": "40764f2c8ce0369d627faa36cebd41517df46760",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/roleserve/worker_statuspush_test.go"
    },
    {
      "type": "modify",
      "old_id": "f67e9b9ba7690710830e383437de45780f843813",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/tconsole/BUILD.bazel",
      "new_id": "c55176094c03dba9bd564eacc1532abe2e3c73e2",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/tconsole/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7a139ac6a440ca8a98de68a508b470193e923f39",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/tconsole/page_status.go",
      "new_id": "482dd6e9edb20f47c14b849ffd1e3498d6e7d404",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/tconsole/page_status.go"
    },
    {
      "type": "modify",
      "old_id": "bc48d0490532a84b2df82b5670fde784bbd0147f",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/tconsole/standalone/BUILD.bazel",
      "new_id": "e9ed29a217d9a9c1cd6984dbc303aee97c45466a",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/tconsole/standalone/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "d9ceb186cdc1deba35d4fe5c627abdd6a77135e8",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/tconsole/standalone/main.go",
      "new_id": "eaf2c4713b2be8c63047afe05ea2f5fc09ab723c",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/tconsole/standalone/main.go"
    },
    {
      "type": "modify",
      "old_id": "aa3df7be9f1cbf52059b438085594df8db05decd",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/tconsole/tconsole.go",
      "new_id": "eeb4536363e45340130bfbc7cc80fd3cb099976d",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/tconsole/tconsole.go"
    },
    {
      "type": "modify",
      "old_id": "532b917f71367f385eedc05999884ae8116edf3a",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/update/BUILD.bazel",
      "new_id": "0ce75b49250d6edb858511b3ee69f31759e2e4c6",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/update/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "c59af8c2c1fd80d0683e568f2726d18fbfa39dcd",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/update/e2e/testos/testos.bzl",
      "new_id": "b0665c0272b63bd15810a628002687057f8b75b6",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/update/e2e/testos/testos.bzl"
    },
    {
      "type": "modify",
      "old_id": "53bcb96a662a473a81ba26675880a17bbaa18b27",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/update/update.go",
      "new_id": "d6206774bc42e071d5862d949258beaf50bb897c",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/update/update.go"
    },
    {
      "type": "modify",
      "old_id": "3e66db3f0e1cf29af735052c726858a62906ee81",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/BUILD.bazel",
      "new_id": "caac358da0037c1fb42c9b0a2be668e61674c60f",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b516207094b9900b4b473465cf0fafef7cb7f611",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/reconciler_status.go",
      "new_id": "914e4c2f2c6eab5cd056958602651b7262d17719",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/reconciler_status.go"
    },
    {
      "type": "modify",
      "old_id": "f9d839fce2f3fae3dd63b1ef2d471946acb092e7",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/reconciler/reconciler_status_test.go",
      "new_id": "1f17e6986a8d47e95452bc7feddf692f9c1e3f60",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/reconciler/reconciler_status_test.go"
    },
    {
      "type": "modify",
      "old_id": "b91c4556fc882b8d16f8c6cc22350a8de28c417c",
      "old_mode": 33188,
      "old_path": "metropolis/node/kubernetes/service_controller.go",
      "new_id": "cd9fdbf5e920208a60ee3a946c47673dcef049b0",
      "new_mode": 33188,
      "new_path": "metropolis/node/kubernetes/service_controller.go"
    },
    {
      "type": "delete",
      "old_id": "40a0991d9c7bfb2cd0b23be768dc5386757fc6be",
      "old_mode": 33188,
      "old_path": "metropolis/version/BUILD.bazel",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "7b00a962c637c16270710a3216d0f6e653fab312",
      "old_mode": 33188,
      "old_path": "metropolis/version/gomod-generated-placeholder.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "671bc549d0085d22aac6ff1f6bd2a210aa84b16f",
      "old_mode": 33188,
      "old_path": "version/defs.bzl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "cbcca3941397b13f394ce50b1a542ab228d5c04f",
      "old_mode": 33188,
      "old_path": "version/stampgo/BUILD.bazel",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "439dca5b1ccf37dc3f4f2389ddb7310c05ad496f",
      "old_mode": 33188,
      "old_path": "version/stampgo/main.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
