)]}'
{"id":"snix~31575","triplet_id":"snix~canon~I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf","project":"snix","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000004":{"account":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"last_update":"2026-08-23 14:44:40.000000000","reason":"Change was submitted"},"1000036":{"account":{"_account_id":1000036,"name":"Yureka","email":"snix@yuka.dev","username":"yureka"},"last_update":"2026-08-23 14:44:40.000000000","reason":"Change was submitted"},"1000014":{"account":{"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"},"last_update":"2026-08-19 21:03:10.000000000","reason":"removed on reply"}},"hashtags":[],"change_id":"I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf","subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","status":"MERGED","created":"2026-08-17 18:59:00.000000000","updated":"2026-08-23 14:44:40.000000000","submitted":"2026-08-23 14:44:40.000000000","submitter":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"31575","meta_rev_id":"47238c802b0fb11ffa09ff1d1e3c178ffd623f50","_number":31575,"virtual_id_number":31575,"owner":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"},"all":[{"value":0,"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"tag":"autogenerated:gerrit:merged","value":2,"date":"2026-08-23 14:44:40.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0,"optional":true},"Verified":{"approved":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:gerrit:merged","value":1,"date":"2026-08-23 14:44:40.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0,"optional":true},"Autosubmit":{"approved":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"all":[{"value":0,"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2026-08-23 14:44:40.000000000","_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":1000036,"name":"Yureka","email":"snix@yuka.dev","username":"yureka"}],"reviewers":{"REVIEWER":[{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"},{"_account_id":1000036,"name":"Yureka","email":"snix@yuka.dev","username":"yureka"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-17 18:59:00.000000000","updated_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"},"state":"REVIEWER"},{"updated":"2026-08-17 18:59:00.000000000","updated_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000036,"name":"Yureka","email":"snix@yuka.dev","username":"yureka"},"state":"REVIEWER"},{"updated":"2026-08-17 18:59:09.000000000","updated_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-08-17 21:41:26.000000000","updated_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"709b653b040270246523d244a5d8afedf6f98266","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-17 18:59:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"79ac0bfbfdac29e47c1555c1675a3a3067660464","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-17 18:59:09.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/snix/snix/builds/3992","accounts_in_message":[],"_revision_number":1},{"id":"5f7a9b080be898a18888b7ec419d65a20291db08","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-17 19:25:29.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"d4e780fdc0ed3dc267e0143230cdc310884dee81","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-17 19:25:30.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/snix/snix/builds/3993","accounts_in_message":[],"_revision_number":2},{"id":"c089c292aa26356d7bd4153c1c496b9f205405b4","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-17 21:41:26.000000000","message":"Patch Set 2: Verified-1\n\nBuild of patchset 2 failed: https://buildkite.com/snix/snix/builds/3993","accounts_in_message":[],"_revision_number":2},{"id":"70d60e1566a3dacc8db41945e2f8cd882c4f8961","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-18 09:30:05.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":3},{"id":"efb1f3731f85580c27849517aec2bd27d31dbbd7","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-18 09:30:08.000000000","message":"Patch Set 3:\n\nStarted build for patchset #3 on: https://buildkite.com/snix/snix/builds/3995","accounts_in_message":[],"_revision_number":3},{"id":"55b5c7b419ddde4cb8f7e193847f399d41c84c53","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-18 10:29:36.000000000","message":"Patch Set 3: Verified-1\n\nBuild of patchset 3 failed: https://buildkite.com/snix/snix/builds/3995","accounts_in_message":[],"_revision_number":3},{"id":"1132eb3abc4c80892db75e72bb253b87c9cf40e7","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-18 10:46:02.000000000","message":"Patch Set 3: Verified+1\n\nBuild of patchset 3 passed: https://buildkite.com/snix/snix/builds/3995","accounts_in_message":[],"_revision_number":3},{"id":"aa45b362a6262ee8d0e6a1a2d9f045ce6dcea3f3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-18 12:48:02.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":4},{"id":"aae736ddf1db7823618c230b9737e274a6d04dcc","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-18 12:48:05.000000000","message":"Patch Set 4:\n\nStarted build for patchset #4 on: https://buildkite.com/snix/snix/builds/4001","accounts_in_message":[],"_revision_number":4},{"id":"6d2917061e883b203ec26d547e60577fe78728d5","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-18 13:18:18.000000000","message":"Patch Set 4: Verified-1\n\nBuild of patchset 4 failed: https://buildkite.com/snix/snix/builds/4001","accounts_in_message":[],"_revision_number":4},{"id":"88d8c2774e0a36b388c2efed388d5fc5ad3e14de","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-18 13:20:05.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":5},{"id":"c341c1dcb5f79a4d05d8f70cf64958d98e7bc18c","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-18 13:20:07.000000000","message":"Patch Set 5:\n\nStarted build for patchset #5 on: https://buildkite.com/snix/snix/builds/4005","accounts_in_message":[],"_revision_number":5},{"id":"c37c0c52e44b82c88f89fb05a7b9f65caac61ff7","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-18 13:52:45.000000000","message":"Patch Set 5: Verified-1\n\nBuild of patchset 5 failed: https://buildkite.com/snix/snix/builds/4005","accounts_in_message":[],"_revision_number":5},{"id":"89dab32707d0ed38ac4f4f4452ddc1409cea8143","author":{"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"},"date":"2026-08-18 14:02:15.000000000","message":"Patch Set 5: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":5},{"id":"7ef45b4c824901f413d7326bdc9658e495a80728","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-19 15:33:32.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND has:unchanged-files) OR is:MIN) OR changekind:NO_CHANGE\")\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":6},{"id":"44b3686330d040d6fbbe6350c0d12d041795e55d","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-19 15:33:39.000000000","message":"Patch Set 6:\n\nStarted build for patchset #6 on: https://buildkite.com/snix/snix/builds/4017","accounts_in_message":[],"_revision_number":6},{"id":"483492351bf02e7d33e803e21bb1f00fd4ae730d","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-19 15:34:56.000000000","message":"Patch Set 6:\n\n(2 comments)","accounts_in_message":[],"_revision_number":6},{"id":"b4f60b16bf32d3ef6d40bb76fbfebc9fbc22311a","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-19 17:35:21.000000000","message":"Patch Set 6: Verified-1\n\nBuild of patchset 6 failed: https://buildkite.com/snix/snix/builds/4017","accounts_in_message":[],"_revision_number":6},{"id":"9489f47d6d03ce4dca13d6f151a18d925330d5cd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-19 18:52:48.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":7},{"id":"e029afec5581b9eadc58bc8c4cb0de720aadcb69","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-19 18:52:50.000000000","message":"Patch Set 7:\n\nStarted build for patchset #7 on: https://buildkite.com/snix/snix/builds/4028","accounts_in_message":[],"_revision_number":7},{"id":"290dd80f34dc73a7af2d16acc5e1a0cc2a7e88a2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-19 19:21:49.000000000","message":"Uploaded patch set 8: Patch Set 7 was rebased.","accounts_in_message":[],"_revision_number":8},{"id":"af524ddd6d735b414c0c5dacdeb67d3bdc4f3f0f","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-19 19:21:55.000000000","message":"Patch Set 8:\n\nStarted build for patchset #8 on: https://buildkite.com/snix/snix/builds/4038","accounts_in_message":[],"_revision_number":8},{"id":"664c3ae3af03bdcc2870caaaec274a41db7e81d9","author":{"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"},"date":"2026-08-19 21:03:10.000000000","message":"Patch Set 8: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"cffad5bb8a2693fd03ce52b8407d4a87aa76bdab","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-19 21:18:51.000000000","message":"Patch Set 8: Verified-1\n\nBuild of patchset 8 failed: https://buildkite.com/snix/snix/builds/4038","accounts_in_message":[],"_revision_number":8},{"id":"b5020126fe997c8059e352547905675e516f08c5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 06:13:57.000000000","message":"Uploaded patch set 9: Patch Set 8 was rebased.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":9},{"id":"199b92cd72f2d7c42b7542c13ff4b363b1590d22","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 06:14:04.000000000","message":"Patch Set 9:\n\nStarted build for patchset #9 on: https://buildkite.com/snix/snix/builds/4049","accounts_in_message":[],"_revision_number":9},{"id":"998fecbaeb408f2d9129ff8900068e4bca15cd7a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 06:31:04.000000000","message":"Uploaded patch set 10.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":10},{"id":"d9f6ea866d712bcc426a751fbe9e8dff95c08f42","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 06:31:04.000000000","message":"Patch Set 10:\n\n(1 comment)","accounts_in_message":[],"_revision_number":10},{"id":"9f7cf4510711ac49bb9c59da1c2603ecd167e596","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 06:31:07.000000000","message":"Patch Set 10:\n\nStarted build for patchset #10 on: https://buildkite.com/snix/snix/builds/4054","accounts_in_message":[],"_revision_number":10},{"id":"27e5c402519368682695c4d42e7ff180180ae72b","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 08:51:19.000000000","message":"Patch Set 10: Verified+1\n\nBuild of patchset 10 passed: https://buildkite.com/snix/snix/builds/4054","accounts_in_message":[],"_revision_number":10},{"id":"622847d05b52498a27c872e167189e90b4a0ce89","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 14:01:37.000000000","message":"Uploaded patch set 11: Patch Set 10 was rebased.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":11},{"id":"517e97606f9f11641b10b8783097ede1bd117491","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 14:01:43.000000000","message":"Patch Set 11:\n\nStarted build for patchset #11 on: https://buildkite.com/snix/snix/builds/4064","accounts_in_message":[],"_revision_number":11},{"id":"0dcf5282d50383815312566663710a3b9dc784de","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 15:06:15.000000000","message":"Uploaded patch set 12: Patch Set 11 was rebased.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":12},{"id":"b13c3a1cdb21c0d6832fb76962de3a826727edd1","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 15:06:18.000000000","message":"Patch Set 12:\n\nStarted build for patchset #12 on: https://buildkite.com/snix/snix/builds/4070","accounts_in_message":[],"_revision_number":12},{"id":"44bae8837471777dc5396d379ad21a3b3f1d0e60","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 15:22:22.000000000","message":"Uploaded patch set 13: New patch set was added with same tree, parent tree, and commit message as Patch Set 12.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR **changekind:NO_CHANGE**\")\n","accounts_in_message":[],"_revision_number":13},{"id":"cc9f906a9127b431604c61918f116e360af92ec6","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 16:37:15.000000000","message":"Patch Set 12: Verified-1\n\nCopied votes on follow-up patch sets have been updated:\n* Verified-1 has been copied to patch set 13 (copy condition: \"(is:ANY AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\").\n\nBuild of patchset 12 failed: https://buildkite.com/snix/snix/builds/4070","accounts_in_message":[],"_revision_number":12},{"id":"4135c1c9d861009bda6ba744c0912c4746ed14f9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 17:38:52.000000000","message":"Uploaded patch set 14: Patch Set 13 was rebased.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":14},{"id":"ac513b28641df262ae487a700ecb4005bf639598","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 17:38:58.000000000","message":"Patch Set 14:\n\nStarted build for patchset #14 on: https://buildkite.com/snix/snix/builds/4084","accounts_in_message":[],"_revision_number":14},{"id":"ade5a18f21ee790ec3e200c008318156e485ebfa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 17:59:20.000000000","message":"Uploaded patch set 15: Patch Set 14 was rebased.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":15},{"id":"e76c0d70a44c64eb065103b166de38df3a137dd6","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 17:59:22.000000000","message":"Patch Set 15:\n\nStarted build for patchset #15 on: https://buildkite.com/snix/snix/builds/4087","accounts_in_message":[],"_revision_number":15},{"id":"32aaa5338a6f6d90a09a90725abb9232352588a7","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-20 18:14:47.000000000","message":"Patch Set 15: Autosubmit+1","accounts_in_message":[],"_revision_number":15},{"id":"4ac9a3ddf6da269486ff7166dff289d8daf60e8d","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-20 19:53:04.000000000","message":"Patch Set 15: Verified-1\n\nBuild of patchset 15 failed: https://buildkite.com/snix/snix/builds/4087","accounts_in_message":[],"_revision_number":15},{"id":"d19c21243faefebb4857dfdf0d4cc9327f49be85","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-21 05:11:29.000000000","message":"Patch Set 15: Verified+1\n\nBuild of patchset 15 passed: https://buildkite.com/snix/snix/builds/4087","accounts_in_message":[],"_revision_number":15},{"id":"81b631e85d1b80c4b151881a1327360312c51ace","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-21 13:05:10.000000000","message":"Uploaded patch set 16: Patch Set 15 was rebased.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":16},{"id":"a6a71181b5af32022aedc4acf3747aa5d1a76c26","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-21 13:05:14.000000000","message":"Patch Set 16:\n\nStarted build for patchset #16 on: https://buildkite.com/snix/snix/builds/4093","accounts_in_message":[],"_revision_number":16},{"id":"d2aeae0cb09a123213e9ef787c574be2a9bf7182","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-21 13:10:07.000000000","message":"Uploaded patch set 17: Patch Set 16 was rebased.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":17},{"id":"33680e963a95e6c400f9ad033254ee155d387a59","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-21 13:10:14.000000000","message":"Patch Set 17:\n\nStarted build for patchset #17 on: https://buildkite.com/snix/snix/builds/4098","accounts_in_message":[],"_revision_number":17},{"id":"307dfea537ebef14d9e88541418061d6fc45a918","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-21 14:37:08.000000000","message":"Patch Set 17: Verified-1\n\nBuild of patchset 17 failed: https://buildkite.com/snix/snix/builds/4098","accounts_in_message":[],"_revision_number":17},{"id":"511cdeb1e669d86ca07683df41d01116ec0c22c4","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-21 14:57:21.000000000","message":"Patch Set 17: Verified+1\n\nBuild of patchset 17 passed: https://buildkite.com/snix/snix/builds/4098","accounts_in_message":[],"_revision_number":17},{"id":"7a9a5eaf5de413d1fe6a80b6e19f4ce5ab5a43e0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-22 13:08:31.000000000","message":"Uploaded patch set 18: Patch Set 17 was rebased.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":18},{"id":"c3caf5f8589f4f5bdd49a29b6b951d5906b83ab4","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-22 13:08:34.000000000","message":"Patch Set 18:\n\nStarted build for patchset #18 on: https://buildkite.com/snix/snix/builds/4118","accounts_in_message":[],"_revision_number":18},{"id":"8aa30b981e627762df2df31f768407977b31019c","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-22 13:35:54.000000000","message":"Patch Set 18: Verified+1\n\nBuild of patchset 18 passed: https://buildkite.com/snix/snix/builds/4118","accounts_in_message":[],"_revision_number":18},{"id":"527000194ad3c961d4750411f73e353cf78d9abc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-23 14:11:38.000000000","message":"Uploaded patch set 19: Patch Set 18 was rebased.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":19},{"id":"9aef889f348a7e93bdda280e2ce9b37d0662bd55","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-23 14:11:40.000000000","message":"Patch Set 19:\n\nStarted build for patchset #19 on: https://buildkite.com/snix/snix/builds/4126","accounts_in_message":[],"_revision_number":19},{"id":"ef7f4ee0296a6362741648a7cea059e4f27e57af","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2026-08-23 14:44:21.000000000","message":"Patch Set 19: Verified+1\n\nBuild of patchset 19 passed: https://buildkite.com/snix/snix/builds/4126","accounts_in_message":[],"_revision_number":19},{"id":"47238c802b0fb11ffa09ff1d1e3c178ffd623f50","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2026-08-23 14:44:40.000000000","message":"Change has been successfully rebased and submitted as 6e990352dd1fe25248a9b47ca61e5b90cc829faf\n\n8 is the latest approved patch-set.\nThe change was submitted with unreviewed changes in the following files:\n\n```\nThe name of the file: snix/cli/store/src/rewrite_directories.rs\nInsertions: 17, Deletions: 20.\n\n@@ -27,34 +27,28 @@\n     PS: PathInfoService,\n     DS: DirectoryService,\n {\n-    let (directory_digest, directory_size) \u003d {\n-        match path_info.node {\n-            Node::Directory { digest, size } \u003d\u003e (digest, size),\n-            _ \u003d\u003e return Ok(false),\n-        }\n+    let Node::Directory { digest, size } \u003d path_info.node else {\n+        return Ok(false);\n     };\n \n     Span::current()\n-        .record(\"directory.digest\", directory_digest.to_string())\n-        .record(\"directory.size\", directory_size);\n+        .record(\"directory.digest\", digest.to_string())\n+        .record(\"directory.size\", size);\n \n     let directory_graph \u003d directory_service\n-        .get_directory_graph(\u0026directory_digest)\n+        .get_directory_graph(\u0026digest)\n         .await?\n         .ok_or(\"Directory closure not found\")?;\n \n-    let new_root_directory \u003d directory_graph.root();\n-    let new_root_directory_digest \u003d new_root_directory.digest();\n-    let new_root_directory_size \u003d new_root_directory.size();\n+    let (digest_new, size_new) \u003d {\n+        let d \u003d directory_graph.root();\n+        (d.digest(), d.size())\n+    };\n \n-    if directory_digest !\u003d new_root_directory_digest {\n-        let node_new \u003d Node::Directory {\n-            digest: new_root_directory_digest,\n-            size: new_root_directory_size,\n-        };\n+    if digest !\u003d digest_new {\n         info!(\n-            directory.digest_new\u003d%new_root_directory_digest,\n-            directory.size_new\u003dnew_root_directory_size,\n+            directory.digest_new\u003d%digest_new,\n+            directory.size_new\u003dsize_new,\n             \"directory root node changed\"\n         );\n \n@@ -63,11 +57,14 @@\n                 .put_directory_graph(directory_graph)\n                 .await?;\n             assert_eq!(\n-                new_root_directory_digest, root_digest,\n+                digest_new, root_digest,\n                 \"Snix bug expected root digest to match our calculations\"\n             );\n \n-            path_info.node \u003d node_new;\n+            path_info.node \u003d Node::Directory {\n+                digest: digest_new,\n+                size: size_new,\n+            };\n             path_info_service.put(path_info).await?;\n \n             return Ok(true);\n```\n","accounts_in_message":[],"_revision_number":20}],"current_revision_number":20,"current_revision":"6e990352dd1fe25248a9b47ca61e5b90cc829faf","revisions":{"761dc40f70c0a93c6fb9d9b1ea02c44bbd6a668b":{"kind":"REWORK","_number":1,"created":"2026-08-17 18:59:00.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/1","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/1","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/1"}}},"commit":{"parents":[{"commit":"2074a2dcd7581a2e1decb09884f8ba0d0a624df9","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 18:58:48.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"64e6f88ba54c61d5e4f64f616f71295fbad1dcbc":{"kind":"REWORK","_number":2,"created":"2026-08-17 19:25:29.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/2","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/2","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/2"}}},"commit":{"parents":[{"commit":"2074a2dcd7581a2e1decb09884f8ba0d0a624df9","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 19:25:07.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"7c75dbddfee8b3ff6d8ddb449960ce889d4d8099":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-08-18 09:30:05.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/3","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/3","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/3"}}},"commit":{"parents":[{"commit":"4fb4746e65db61306000c327564d7c1785ad7ae3","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-18 09:29:51.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"d362cbf201ab47acb5dac391ca00b1599acbedff":{"kind":"REWORK","_number":4,"created":"2026-08-18 12:48:02.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/4","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/4","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/4"}}},"commit":{"parents":[{"commit":"4fb4746e65db61306000c327564d7c1785ad7ae3","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-18 12:47:52.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"f8e241d9b3d76d0a0300ed0d3c7572b56da8ba5c":{"kind":"REWORK","_number":5,"created":"2026-08-18 13:20:05.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/5","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/5","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/5"}}},"commit":{"parents":[{"commit":"4fb4746e65db61306000c327564d7c1785ad7ae3","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-18 13:19:55.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"dd4e7693feeb732ef1f41e26be6f3823dee481f2":{"kind":"REWORK","_number":6,"created":"2026-08-19 15:33:32.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/6","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/6","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/6"}}},"commit":{"parents":[{"commit":"54ebe9132c2bcb435c2f36703e5eebcadf67a094","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-19 15:31:43.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"6823bbed34e7364b5c945cb4641ea437b70f41bc":{"kind":"REWORK","_number":7,"created":"2026-08-19 18:52:48.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/7","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/7","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/7"}}},"commit":{"parents":[{"commit":"54ebe9132c2bcb435c2f36703e5eebcadf67a094","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-19 18:51:34.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"bc16d80f1f7f0f91a76513a3683a0e5296691ce1":{"kind":"TRIVIAL_REBASE","_number":8,"created":"2026-08-19 19:21:49.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/8","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/8","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/8"}}},"commit":{"parents":[{"commit":"0bd7bec417ae1d97f7d840b09d4c7fdcf5e58af9","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-19 19:21:26.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"08084e130ee3d1d8f25d89a2e17ce041146182b8":{"kind":"TRIVIAL_REBASE","_number":9,"created":"2026-08-20 06:13:57.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/9","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/9","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/9"}}},"commit":{"parents":[{"commit":"b3a9e7e343635b3e8cf2e9601089e61beaa2e221","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-20 06:13:48.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"1249e1e9c7ffe8d8b6071c3e10231c2dee997427":{"kind":"REWORK","_number":10,"created":"2026-08-20 06:31:04.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/10","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/10","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/10"}}},"commit":{"parents":[{"commit":"b3a9e7e343635b3e8cf2e9601089e61beaa2e221","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-20 06:30:22.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"93bd58ad2f0f41b9b9f8c8f987894ac981be9664":{"kind":"TRIVIAL_REBASE","_number":11,"created":"2026-08-20 14:01:37.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/11","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/11","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/11"}}},"commit":{"parents":[{"commit":"eef3f06bfabecd31da956368d60c1f2bae1b60cf","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-20 11:54:42.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"14f5d4fe893aea7dfd49e1d074967bfafde8ab29":{"kind":"TRIVIAL_REBASE","_number":12,"created":"2026-08-20 15:06:15.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/12","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/12","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/12"}}},"commit":{"parents":[{"commit":"9e91cec8eb3c6f33ae0b7e2b6d6fbb002b1e822d","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-20 15:05:44.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"c05fa4f14c2cd95c2273d25fae69f9460680060c":{"kind":"NO_CHANGE","_number":13,"created":"2026-08-20 15:22:22.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/13","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/13","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/13"}}},"commit":{"parents":[{"commit":"5a253db3e3e90c0d72fac51316469bd437c34eba","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-20 15:22:13.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"417347851cb6a469385d7603f8350d45e1937e3c":{"kind":"TRIVIAL_REBASE","_number":14,"created":"2026-08-20 17:38:52.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/14","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/14","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/14"}}},"commit":{"parents":[{"commit":"d5449d1fd068e183a839abe70da1c7babc4f3c90","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-20 17:35:09.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"7c3d2b0f1a2d32426dbc3885d8b610bc003fcfda":{"kind":"TRIVIAL_REBASE","_number":15,"created":"2026-08-20 17:59:20.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/15","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/15","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/15"}}},"commit":{"parents":[{"commit":"5ecf9e89f9fec0608e78da73321acb03a2ed4405","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-20 17:59:09.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"b9d0fd578742a7ff05d1d66c5ae4282ad64babb5":{"kind":"TRIVIAL_REBASE","_number":16,"created":"2026-08-21 13:05:10.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/16","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/16","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/16"}}},"commit":{"parents":[{"commit":"627e8730ca1fc0684b2787fb73d571cbde02dc98","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-21 13:03:34.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"ec82fb46fe54c82af317b29fd265eeb748805508":{"kind":"TRIVIAL_REBASE","_number":17,"created":"2026-08-21 13:10:07.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/17","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/17","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/17"}}},"commit":{"parents":[{"commit":"a9d20729c9ce3d6f41c016ab8e5a7972919a11a8","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-21 13:09:36.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"5ed7a0b9536ca43d897035309d0d610812709586":{"kind":"TRIVIAL_REBASE","_number":18,"created":"2026-08-22 13:08:31.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/18","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/18","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/18"}}},"commit":{"parents":[{"commit":"12012763d973cef0d9d4ef9ad73319e72eab10cc","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-22 13:07:58.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"dc2622498b8eaa050c87e4b17f600c6aee47f056":{"kind":"TRIVIAL_REBASE","_number":19,"created":"2026-08-23 14:11:38.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/19","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/19","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/19"}}},"commit":{"parents":[{"commit":"bc161567bc2f12f78a73930cd96ac4c89a2ed634","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-23 14:11:18.000000000","tz":180},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\n"},"branch":"refs/heads/canon"},"6e990352dd1fe25248a9b47ca61e5b90cc829faf":{"kind":"NO_CODE_CHANGE","_number":20,"created":"2026-08-23 14:44:40.000000000","uploader":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/75/31575/20","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/75/31575/20","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/75/31575/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/75/31575/20"}}},"commit":{"parents":[{"commit":"2f4191a68cfe2ba1a8789790994b1e8e85e286dd","subject":"fix(castore/nodes): don\u0027t double-count nodes in Directory::size"}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-17 17:05:21.000000000","tz":180},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2026-08-23 14:44:40.000000000","tz":0},"subject":"feat(cli/store): add `snix-store tools rewrite-directories` command","message":"feat(cli/store): add `snix-store tools rewrite-directories` command\n\nThis traveres all PathInfos, and for each of them describing a directory\nnode, recalculates sizes and digests for the entire closure, then writes\nthem back if changed.\n\nChange-Id: I15f0a57cc640a4bcdfa857d3df5828c7f0d1a3bf\nReviewed-on: https://cl.snix.dev/c/snix/+/31575\nReviewed-by: Brian Olsen \u003cbrian@maven-group.org\u003e\nAutosubmit: Florian Klink \u003cflokli@flokli.de\u003e\nTested-by: besadii\n"},"branch":"refs/heads/canon","description":"Rebase","conflicts":{"ours":"dc2622498b8eaa050c87e4b17f600c6aee47f056","theirs":"2f4191a68cfe2ba1a8789790994b1e8e85e286dd","contains_conflicts":false}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":1000014,"name":"Brian Olsen","display_name":"griff","email":"brian@maven-group.org","username":"griff"}},{"label":"Verified","status":"MAY","applied_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]}},{"label":"Autosubmit","status":"MAY","applied_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}}]},{"rule_name":"Code-Owners","status":"CLOSED"}],"submit_requirements":[{"name":"Verified","description":"Label \u0027Verified+1\u0027 is required","status":"SATISFIED","is_legacy":false,"applicability_expression_result":{"fulfilled":true,"status":"PASS"},"submittability_expression_result":{"expression":"label:Verified\u003dMAX,user\u003dnon_uploader","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX,user\u003dnon_uploader"],"failing_atoms":[],"atom_explanations":{"label:Verified\u003dMAX,user\u003dnon_uploader":""}}},{"name":"Code-Owners","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:Code-Owners","fulfilled":true,"status":"PASS","passing_atoms":["Code-Owners"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"At least one maximum vote for label \u0027Code-Review\u0027 is required, minimum votes block submits","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX,user\u003dnon_uploader AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX,user\u003dnon_uploader"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX,user\u003dnon_uploader":"","label:Code-Review\u003dMIN":""}}},{"name":"No-Unresolved-Comments","description":"Changes that have unresolved comments are not submittable.","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"-has:unresolved","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}}]}
