)]}' { "commit": "f7d54faa261b31f7258a2d1291531ebd89ce8ee5", "tree": "4e8e8bd242c88d4fddc3a6f2521789314b0ce239", "parents": [ "fcc0c9ab67c5e237fa886ef7a105d96c1b264d27" ], "author": { "name": "Ryan Hitchman", "email": "hitchman@sourcegraph.com", "time": "Sat Aug 21 14:48:08 2021 -0600" }, "committer": { "name": "Ryan Hitchman", "email": "hitchman@sourcegraph.com", "time": "Wed Sep 29 12:50:36 2021 -0600" }, "message": "toc: modify disk format to include names for backwards/forwards compatiblity.\n\nIncluding section names in the table of contents permits simpler\nforwards and backwards compatibility. Instead of having to bump\nthe entire IndexFormatVersion when a new section is added, there is\nsimply a new section present in the table of contents.\n\nOlder versions can read TOCs with unknown sections and skip over them\nwith a warning. This is useful to permit downgrades without always\nrequiring a reindex.\n\nNewer versions can read TOCs from older version with missing sections\nand handle them gracefully, by checking for empty sections when loading\nan index file and implementing whatever fallback code is necessary.\n\nSection evolution is possible by having a new name for a tagged section,\nadding the old section to the CompatibilityList, and writing the\nconversion code when loading the file, or modifying the users of the\nsection to use whichever one is loaded.\n\nChange-Id: I9aa05f29eb9d64fd0fff218f008d2031f1a15c8c\n", "tree_diff": [ { "type": "modify", "old_id": "bec0e51945aad3b12cae56476414ccf2961c38bd", "old_mode": 33188, "old_path": "api.go", "new_id": "2bd8a885ce9eff79fd4dffbfdad615a19a5a4e57", "new_mode": 33188, "new_path": "api.go" }, { "type": "modify", "old_id": "bac97b193ffd0eacdafee4e2bd1332d6b0b827ce", "old_mode": 33188, "old_path": "read.go", "new_id": "8351a2351788feba6929dc3f488c15230ed217da", "new_mode": 33188, "new_path": "read.go" }, { "type": "modify", "old_id": "4faa741ef32d9cca370dd19e368cb30e0b866256", "old_mode": 33188, "old_path": "read_test.go", "new_id": "b6b57cd81d6a738c833cc1c1c4e1b7e7bd9aec41", "new_mode": 33188, "new_path": "read_test.go" }, { "type": "modify", "old_id": "a75780462e980404483a1806d114f5e055536b98", "old_mode": 33188, "old_path": "section.go", "new_id": "90e4e94da0bd1e59f01800a01ed4596074cb9063", "new_mode": 33188, "new_path": "section.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "a0708921e172f34723a570b747e58d67329219ed", "new_mode": 33188, "new_path": "testdata/backcompat/static_toc_v15.00000.zoekt" }, { "type": "modify", "old_id": "c956e94ef77116c619d82de692d7c80e1ce89473", "old_mode": 33188, "old_path": "toc.go", "new_id": "9eab283293b600cc3676795973ecc97f2605f273", "new_mode": 33188, "new_path": "toc.go" }, { "type": "modify", "old_id": "8c5081e4c61fd8bb089a24bce20dd4ef71ee18ac", "old_mode": 33188, "old_path": "write.go", "new_id": "7a89167ecfa891371010f539849b8acb5a73157e", "new_mode": 33188, "new_path": "write.go" } ] }