)]}'
{"id":"depot~11247","triplet_id":"depot~canon~I6810215a76101f908e2aaecafa803c70d85bc552","project":"depot","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000096":{"account":{"_account_id":1000096,"name":"picnoir picnoir","display_name":"picnoir","email":"picnoir@alternativebit.fr","username":"picnoir"},"last_update":"2024-03-24 20:00:40.000000000","reason":"Change was submitted"},"1000085":{"account":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"last_update":"2024-03-24 20:00:40.000000000","reason":"Change was submitted"},"1000036":{"account":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"last_update":"2024-03-24 20:00:40.000000000","reason":"Change was submitted"},"1000073":{"account":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},"last_update":"2024-03-24 17:59:03.000000000","reason":"\u003cGERRIT_ACCOUNT_1000073\u003e replied on the change","reason_account":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"}}},"hashtags":[],"change_id":"I6810215a76101f908e2aaecafa803c70d85bc552","subject":"feat(tvix/castore): add rstest-based DirectoryService tests","status":"MERGED","created":"2024-03-23 21:51:40.000000000","updated":"2024-03-24 20:00:40.000000000","submitted":"2024-03-24 20:00:40.000000000","submitter":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"11247","meta_rev_id":"9f5c79d88af90c7af6f6eed7592be2869df0454b","_number":11247,"virtual_id_number":11247,"owner":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2024-03-24 20:00:40.000000000","_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},{"value":0,"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},{"tag":"autogenerated:gerrit:merged","value":2,"date":"2024-03-24 20:00:40.000000000","_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"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},"Verified":{"approved":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},{"value":0,"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2024-03-24 20:00:40.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Autosubmit":{"approved":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"all":[{"value":0,"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2024-03-24 20:00:40.000000000","_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true},"All-Comments-Resolved":{"approved":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"all":[{"value":0,"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},{"value":0,"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]},"Conformant-Commit-Message":{"approved":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"all":[{"value":0,"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},{"value":0,"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]}},"removable_reviewers":[{"_account_id":1000096,"name":"picnoir picnoir","display_name":"picnoir","email":"picnoir@alternativebit.fr","username":"picnoir"}],"reviewers":{"REVIEWER":[{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},{"_account_id":1000096,"name":"picnoir picnoir","display_name":"picnoir","email":"picnoir@alternativebit.fr","username":"picnoir"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-03-23 21:51:40.000000000","updated_by":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"state":"REVIEWER"},{"updated":"2024-03-23 21:51:40.000000000","updated_by":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000096,"name":"picnoir picnoir","display_name":"picnoir","email":"picnoir@alternativebit.fr","username":"picnoir"},"state":"REVIEWER"},{"updated":"2024-03-23 21:51:40.000000000","updated_by":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},"state":"REVIEWER"},{"updated":"2024-03-23 21:52:30.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2024-03-23 22:05:41.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2024-03-24 20:00:40.000000000","updated_by":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"6afc6b1130c9f48a2076c022c575ba5a27d3f69d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2024-03-23 21:51:40.000000000","message":"Uploaded patch set 1: Autosubmit+1.","accounts_in_message":[],"_revision_number":1},{"id":"3627822531c44e826bd8339a6a63efb2e84e5cf3","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-23 21:52:30.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/tvl/depot/builds/32523","accounts_in_message":[],"_revision_number":1},{"id":"453bd2d29c68a9181b11bbdacd9b98e06e7c9192","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-23 22:05:41.000000000","message":"Patch Set 1: Verified-1\n\nBuild of patchset 1 failed: https://buildkite.com/tvl/depot/builds/32523","accounts_in_message":[],"_revision_number":1},{"id":"69f34a961f30048f2310bb27c4db315b552fa7a1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2024-03-23 22:07:15.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\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":2},{"id":"3a3ae3b672226d4db7e86e42459638fd2b61976c","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-23 22:07:51.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/tvl/depot/builds/32530","accounts_in_message":[],"_revision_number":2},{"id":"d8f1ff10d79bb18cb4aaea8ca4f7c80f228fe155","author":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"date":"2024-03-23 22:16:09.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"13315e53d6f7b4b9979b06034864b1e65ef8a277","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-23 22:19:11.000000000","message":"Patch Set 2: Verified-1\n\nBuild of patchset 2 failed: https://buildkite.com/tvl/depot/builds/32530","accounts_in_message":[],"_revision_number":2},{"id":"d18db098d9571945a02ed1b1b646e3b49a685fcf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2024-03-23 22:53:08.000000000","message":"Uploaded patch set 3.\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":3},{"id":"e520c36a5cfdd8593f18cfd4b5e4e5e8bce321b3","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-23 22:53:11.000000000","message":"Patch Set 3:\n\nStarted build for patchset #3 on: https://buildkite.com/tvl/depot/builds/32532","accounts_in_message":[],"_revision_number":3},{"id":"077e0ae3933bb2c151ae10d20ce384c1f31ef55e","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-23 22:58:57.000000000","message":"Patch Set 3: Verified-1\n\nBuild of patchset 3 failed: https://buildkite.com/tvl/depot/builds/32532","accounts_in_message":[],"_revision_number":3},{"id":"cd4f147fe005a97b39e72f780ebb6b5e40318bad","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2024-03-24 07:11:12.000000000","message":"Uploaded patch set 4.\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":4},{"id":"4b7c3a57907c9244bff2526b9108d39f9a1ac07e","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-24 07:11:16.000000000","message":"Patch Set 4:\n\nStarted build for patchset #4 on: https://buildkite.com/tvl/depot/builds/32541","accounts_in_message":[],"_revision_number":4},{"id":"0126e57984d280179939d61b701fbcb54c1115c1","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-24 07:13:53.000000000","message":"Patch Set 4: Verified+1\n\nBuild of patchset 4 passed: https://buildkite.com/tvl/depot/builds/32541","accounts_in_message":[],"_revision_number":4},{"id":"a79d9932c40285711874e481964cb0b0e3e7501b","author":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},"date":"2024-03-24 17:59:03.000000000","message":"Patch Set 4: Code-Review+2","accounts_in_message":[],"_revision_number":4},{"id":"70540a1ff7bc87fe95c40d4be33e27dc8839ec6b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2024-03-24 19:56:41.000000000","message":"Patch Set 5: Patch Set 4 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":5},{"id":"5e890d56ca1fc2c55a39d2464e0ea3eebd392c89","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-24 19:56:59.000000000","message":"Patch Set 5:\n\nStarted build for patchset #5 on: https://buildkite.com/tvl/depot/builds/32585","accounts_in_message":[],"_revision_number":5},{"id":"eedc8a9bf137cb5485bcc251382e3a49eccd1187","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-24 20:00:07.000000000","message":"Patch Set 5: Verified+1\n\nBuild of patchset 5 passed: https://buildkite.com/tvl/depot/builds/32585","accounts_in_message":[],"_revision_number":5},{"id":"9f5c79d88af90c7af6f6eed7592be2869df0454b","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"date":"2024-03-24 20:00:40.000000000","message":"Change has been successfully rebased and submitted as 3ece32bbf9078f44d2c38098697e9a1cfaebd00c\n\n4 is the latest approved patch-set.\nNo files were changed between the latest approved patch-set and the submitted one.\n","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"3ece32bbf9078f44d2c38098697e9a1cfaebd00c","revisions":{"fc1b883296b96b660cbe348bb76d444262c46054":{"kind":"REWORK","_number":1,"created":"2024-03-23 21:51:40.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/11247/1","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/11247/1","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/11247/1"}}},"commit":{"parents":[{"commit":"c2a6d484bba4c22445e96fe89a2b98bca43bb5c5","subject":"feat(tvix/castore/directory): add SledDirectoryPutter","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dc2a6d484bba4c22445e96fe89a2b98bca43bb5c5"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 20:49:49.000000000","tz":60},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 21:41:59.000000000","tz":60},"subject":"feat(tvix/castore): add rstest-based DirectoryService tests","message":"feat(tvix/castore): add rstest-based DirectoryService tests\n\nThis creates test scenarios (using the DirectoryService trait) that we\nwant all DirectoryService implementations to pass.\n\nSome of these tests are ported from proto::tests::grpc_directoryservice,\nwhich tested this on the gRPC interface (rather than the trait),\nsome others ensure certain behaviour for which we only recently\nintroduced general checking logic (through ClosureValidator).\n\nWe also borrow some code related to setting up a gRPC DirectoryService\nclient (connecting to a server exposing a in-memory DiretoryService)\nfrom castore::utils, this will be deleted once it\u0027s all ported over.\n\nChange-Id: I6810215a76101f908e2aaecafa803c70d85bc552\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dfc1b883296b96b660cbe348bb76d444262c46054"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dfc1b883296b96b660cbe348bb76d444262c46054"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"c2a6d484bba4c22445e96fe89a2b98bca43bb5c5","is_merged_in_target_branch":false,"change_id":"I2d6dc513ccbc02e638f8d22173da5463e73182ee","change_number":11222,"patch_set_number":8,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"19078b7396544627bf4341c762608e531f939910":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2024-03-23 22:07:15.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/11247/2","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/11247/2","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/11247/2"}}},"commit":{"parents":[{"commit":"dad58c214058cbdda75eb8ba22b461542058c1f0","subject":"feat(tvix/castore/directory): add SledDirectoryPutter","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003ddad58c214058cbdda75eb8ba22b461542058c1f0"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 20:49:49.000000000","tz":60},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 22:07:00.000000000","tz":60},"subject":"feat(tvix/castore): add rstest-based DirectoryService tests","message":"feat(tvix/castore): add rstest-based DirectoryService tests\n\nThis creates test scenarios (using the DirectoryService trait) that we\nwant all DirectoryService implementations to pass.\n\nSome of these tests are ported from proto::tests::grpc_directoryservice,\nwhich tested this on the gRPC interface (rather than the trait),\nsome others ensure certain behaviour for which we only recently\nintroduced general checking logic (through ClosureValidator).\n\nWe also borrow some code related to setting up a gRPC DirectoryService\nclient (connecting to a server exposing a in-memory DiretoryService)\nfrom castore::utils, this will be deleted once it\u0027s all ported over.\n\nChange-Id: I6810215a76101f908e2aaecafa803c70d85bc552\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d19078b7396544627bf4341c762608e531f939910"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d19078b7396544627bf4341c762608e531f939910"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"dad58c214058cbdda75eb8ba22b461542058c1f0","is_merged_in_target_branch":false,"change_id":"I2d6dc513ccbc02e638f8d22173da5463e73182ee","change_number":11222,"patch_set_number":9,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"4afddd02eb6adcd355394e65b531713f7a83be13":{"kind":"REWORK","_number":3,"created":"2024-03-23 22:53:08.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/11247/3","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/11247/3","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/11247/3"}}},"commit":{"parents":[{"commit":"c7154ba037c3ef158c61f697ee6d124a83b7428c","subject":"feat(tvix/castore): AsRef\u003cdyn DirectoryService\u003e impl DirectoryService","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dc7154ba037c3ef158c61f697ee6d124a83b7428c"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 20:49:49.000000000","tz":60},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 22:39:22.000000000","tz":60},"subject":"feat(tvix/castore): add rstest-based DirectoryService tests","message":"feat(tvix/castore): add rstest-based DirectoryService tests\n\nThis creates test scenarios (using the DirectoryService trait) that we\nwant all DirectoryService implementations to pass.\n\nSome of these tests are ported from proto::tests::grpc_directoryservice,\nwhich tested this on the gRPC interface (rather than the trait),\nsome others ensure certain behaviour for which we only recently\nintroduced general checking logic (through ClosureValidator).\n\nWe also borrow some code related to setting up a gRPC DirectoryService\nclient (connecting to a server exposing a in-memory DiretoryService)\nfrom castore::utils, this will be deleted once it\u0027s all ported over.\n\nChange-Id: I6810215a76101f908e2aaecafa803c70d85bc552\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d4afddd02eb6adcd355394e65b531713f7a83be13"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d4afddd02eb6adcd355394e65b531713f7a83be13"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"c7154ba037c3ef158c61f697ee6d124a83b7428c","is_merged_in_target_branch":false,"change_id":"I56cca27b3212858db8b12b874df0e567dd868711","change_number":11248,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"00b2d74e436a9cd820457eec4ae33931f5915714":{"kind":"REWORK","_number":4,"created":"2024-03-24 07:11:12.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/11247/4","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/11247/4","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/11247/4"}}},"commit":{"parents":[{"commit":"c7154ba037c3ef158c61f697ee6d124a83b7428c","subject":"feat(tvix/castore): AsRef\u003cdyn DirectoryService\u003e impl DirectoryService","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dc7154ba037c3ef158c61f697ee6d124a83b7428c"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 20:49:49.000000000","tz":60},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-24 07:10:39.000000000","tz":60},"subject":"feat(tvix/castore): add rstest-based DirectoryService tests","message":"feat(tvix/castore): add rstest-based DirectoryService tests\n\nThis creates test scenarios (using the DirectoryService trait) that we\nwant all DirectoryService implementations to pass.\n\nSome of these tests are ported from proto::tests::grpc_directoryservice,\nwhich tested this on the gRPC interface (rather than the trait),\nsome others ensure certain behaviour for which we only recently\nintroduced general checking logic (through ClosureValidator).\n\nWe also borrow some code related to setting up a gRPC DirectoryService\nclient (connecting to a server exposing a in-memory DiretoryService)\nfrom castore::utils, this will be deleted once it\u0027s all ported over.\n\nChange-Id: I6810215a76101f908e2aaecafa803c70d85bc552\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d00b2d74e436a9cd820457eec4ae33931f5915714"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d00b2d74e436a9cd820457eec4ae33931f5915714"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"c7154ba037c3ef158c61f697ee6d124a83b7428c","is_merged_in_target_branch":false,"change_id":"I56cca27b3212858db8b12b874df0e567dd868711","change_number":11248,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"16235e116849672acad8d919921d638879b74261":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2024-03-24 19:56:41.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/11247/5","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/11247/5","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/11247/5"}}},"commit":{"parents":[{"commit":"f14618eb18aab5f7c686e8c4b4913b3e7fc6b72a","subject":"feat(tvix/castore): AsRef\u003cdyn DirectoryService\u003e impl DirectoryService","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003df14618eb18aab5f7c686e8c4b4913b3e7fc6b72a"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 20:49:49.000000000","tz":60},"committer":{"name":"flokli","email":"flokli@flokli.de","date":"2024-03-24 19:56:41.000000000","tz":0},"subject":"feat(tvix/castore): add rstest-based DirectoryService tests","message":"feat(tvix/castore): add rstest-based DirectoryService tests\n\nThis creates test scenarios (using the DirectoryService trait) that we\nwant all DirectoryService implementations to pass.\n\nSome of these tests are ported from proto::tests::grpc_directoryservice,\nwhich tested this on the gRPC interface (rather than the trait),\nsome others ensure certain behaviour for which we only recently\nintroduced general checking logic (through ClosureValidator).\n\nWe also borrow some code related to setting up a gRPC DirectoryService\nclient (connecting to a server exposing a in-memory DiretoryService)\nfrom castore::utils, this will be deleted once it\u0027s all ported over.\n\nChange-Id: I6810215a76101f908e2aaecafa803c70d85bc552\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d16235e116849672acad8d919921d638879b74261"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d16235e116849672acad8d919921d638879b74261"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"f14618eb18aab5f7c686e8c4b4913b3e7fc6b72a","is_merged_in_target_branch":false,"change_id":"I56cca27b3212858db8b12b874df0e567dd868711","change_number":11248,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon","description":"Rebase"},"3ece32bbf9078f44d2c38098697e9a1cfaebd00c":{"kind":"NO_CODE_CHANGE","_number":6,"created":"2024-03-24 20:00:40.000000000","uploader":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"ref":"refs/changes/47/11247/6","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/11247/6","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/11247/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/11247/6"}}},"commit":{"parents":[{"commit":"6f5474bf028045cc3cb64eff04cf80aef7e22412","subject":"feat(tvix/castore): AsRef\u003cdyn DirectoryService\u003e impl DirectoryService","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d6f5474bf028045cc3cb64eff04cf80aef7e22412"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2024-03-23 20:49:49.000000000","tz":60},"committer":{"name":"clbot","email":"clbot@tvl.fyi","date":"2024-03-24 20:00:40.000000000","tz":0},"subject":"feat(tvix/castore): add rstest-based DirectoryService tests","message":"feat(tvix/castore): add rstest-based DirectoryService tests\n\nThis creates test scenarios (using the DirectoryService trait) that we\nwant all DirectoryService implementations to pass.\n\nSome of these tests are ported from proto::tests::grpc_directoryservice,\nwhich tested this on the gRPC interface (rather than the trait),\nsome others ensure certain behaviour for which we only recently\nintroduced general checking logic (through ClosureValidator).\n\nWe also borrow some code related to setting up a gRPC DirectoryService\nclient (connecting to a server exposing a in-memory DiretoryService)\nfrom castore::utils, this will be deleted once it\u0027s all ported over.\n\nChange-Id: I6810215a76101f908e2aaecafa803c70d85bc552\nReviewed-on: https://cl.tvl.fyi/c/depot/+/11247\nReviewed-by: raitobezarius \u003ctvl@lahfa.xyz\u003e\nAutosubmit: flokli \u003cflokli@flokli.de\u003e\nReviewed-by: Connor Brewster \u003ccbrewster@hey.com\u003e\nTested-by: BuildkiteCI\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d3ece32bbf9078f44d2c38098697e9a1cfaebd00c"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d3ece32bbf9078f44d2c38098697e9a1cfaebd00c"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"6f5474bf028045cc3cb64eff04cf80aef7e22412","is_merged_in_target_branch":true,"change_id":"I56cca27b3212858db8b12b874df0e567dd868711","change_number":11248,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/canon","description":"Rebase"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~PrologRule","status":"CLOSED","labels":[{"label":"Autosubmit","status":"MAY"},{"label":"Conformant-Commit-Message","status":"OK","applied_by":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"}},{"label":"All-Comments-Resolved","status":"OK","applied_by":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"}}]},{"rule_name":"Code-Owners","status":"CLOSED"}],"submit_requirements":[{"name":"All-Comments-Resolved","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:All-Comments-Resolved\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:All-Comments-Resolved\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"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":[]}},{"name":"Conformant-Commit-Message","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Conformant-Commit-Message\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Conformant-Commit-Message\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dgerrit~PrologRule"],"failing_atoms":[]}}]}
