)]}'
{"id":"depot~9647","triplet_id":"depot~canon~Ifc3eb3263fa25b9eec260db354cd74234c40af7e","project":"depot","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000085":{"account":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"last_update":"2023-10-14 13:23:07.000000000","reason":"Change was submitted"},"1000005":{"account":{"_account_id":1000005,"name":"edef","email":"edef@edef.eu","username":"edef"},"last_update":"2023-10-14 13:23:07.000000000","reason":"Change was submitted"},"1000036":{"account":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"last_update":"2023-10-14 12:51:23.000000000","reason":"removed on reply"},"1000076":{"account":{"_account_id":1000076,"name":"Linus Heckemann","email":"git@sphalerite.org","username":"lheckemann"},"last_update":"2023-10-14 13:23:07.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ifc3eb3263fa25b9eec260db354cd74234c40af7e","subject":"feat(tvix/store/protos): add Deriver field to PathInfo","status":"MERGED","created":"2023-10-10 22:33:28.000000000","updated":"2023-10-14 13:23:07.000000000","submitted":"2023-10-14 13:23:07.000000000","submitter":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"9647","meta_rev_id":"142691282c128f4abb41e4b020f0580a3d176fb0","_number":9647,"virtual_id_number":9647,"owner":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2023-10-14 13:23:07.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"},{"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"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2023-10-14 13:23:07.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":{"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":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":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":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]}},"removable_reviewers":[{"_account_id":1000005,"name":"edef","email":"edef@edef.eu","username":"edef"},{"_account_id":1000076,"name":"Linus Heckemann","email":"git@sphalerite.org","username":"lheckemann"}],"reviewers":{"REVIEWER":[{"_account_id":1000005,"name":"edef","email":"edef@edef.eu","username":"edef"},{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},{"_account_id":1000076,"name":"Linus Heckemann","email":"git@sphalerite.org","username":"lheckemann"},{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-10-10 22:33:28.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":"2023-10-10 22:33:28.000000000","updated_by":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000005,"name":"edef","email":"edef@edef.eu","username":"edef"},"state":"REVIEWER"},{"updated":"2023-10-10 22:33:31.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":"2023-10-10 22:37:59.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":"2023-10-11 15:33:38.000000000","updated_by":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000076,"name":"Linus Heckemann","email":"git@sphalerite.org","username":"lheckemann"},"state":"REVIEWER"}],"messages":[{"id":"309de6da725f94bab4b76e0e46681282562012dc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-10 22:33:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c0be68a43646671973041dc19fcfd188280a3500","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-10 22:33:31.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/tvl/depot/builds/27233","accounts_in_message":[],"_revision_number":1},{"id":"78ba827afcb868290ed1d03f5842ba2af747cfda","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-10 22:37:59.000000000","message":"Patch Set 1: Verified-1\n\nBuild of patchset 1 failed: https://buildkite.com/tvl/depot/builds/27233","accounts_in_message":[],"_revision_number":1},{"id":"264ce9f4fc5498efcdef9805025cb93d62a9e0f8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-10 23:10:50.000000000","message":"Uploaded patch set 2.\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":"6854b7fe0dc0c26d29377d254cee60a07593ef4f","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-10 23:10:52.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/tvl/depot/builds/27236","accounts_in_message":[],"_revision_number":2},{"id":"11bb0271aba445e5e1ad5dc7e98dfd0b46e9b505","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-10 23:14:09.000000000","message":"Patch Set 2: Verified+1\n\nBuild of patchset 2 passed: https://buildkite.com/tvl/depot/builds/27236","accounts_in_message":[],"_revision_number":2},{"id":"edf40c6a356e95b3049cf389936602e707c1b364","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-11 09:13:22.000000000","message":"Uploaded patch set 3: Commit message was updated.\n\nCopied 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":"8ebf11db037b9758f125a2c3628dc5de3c6b7d9e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-11 11:44:09.000000000","message":"Patch Set 4: Patch Set 3 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":4},{"id":"b1c9451c07564988370b051aa20e5cb17efebac5","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-11 11:44:11.000000000","message":"Patch Set 4:\n\nStarted build for patchset #4 on: https://buildkite.com/tvl/depot/builds/27247","accounts_in_message":[],"_revision_number":4},{"id":"9d6afefbb73255f2bfecaaf100fde824ee007371","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-11 12:14:33.000000000","message":"Patch Set 4: Verified+1\n\nBuild of patchset 4 passed: https://buildkite.com/tvl/depot/builds/27247","accounts_in_message":[],"_revision_number":4},{"id":"ec4113acf616218b580ace6a3d5c96412f1be892","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-11 15:33:38.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":"6b862ede6ff51b4fcdd4b7fb29f3231fb8b6d872","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-11 15:33:39.000000000","message":"Patch Set 5:\n\nStarted build for patchset #5 on: https://buildkite.com/tvl/depot/builds/27259","accounts_in_message":[],"_revision_number":5},{"id":"269038013a32ac78866cd873eebffbf80f397f65","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-11 15:38:07.000000000","message":"Patch Set 5: Verified+1\n\nBuild of patchset 5 passed: https://buildkite.com/tvl/depot/builds/27259","accounts_in_message":[],"_revision_number":5},{"id":"3bb426b27cc1b19d989df52ba7b3f92075321b1c","author":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"date":"2023-10-13 14:41:43.000000000","message":"Patch Set 5: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":5},{"id":"0b7174208050dcc1f814d2adf46122eb93e5584d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-14 12:51:23.000000000","message":"Uploaded patch set 6.\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":6},{"id":"139b75049908b8d79dbe6f66f18b56cc7b9e6831","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-14 12:51:23.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"a0c437165dd2770cd3b8ecf57c53f648becb2c69","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-14 12:51:24.000000000","message":"Patch Set 6:\n\nStarted build for patchset #6 on: https://buildkite.com/tvl/depot/builds/27330","accounts_in_message":[],"_revision_number":6},{"id":"da7d90180a0d91c70b3cc12e9c71d68f98883623","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-14 12:54:50.000000000","message":"Uploaded patch set 7.\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":7},{"id":"aa96823ce34c080b5dadb48cdb3d13a7119ba4c2","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-14 12:54:52.000000000","message":"Patch Set 7:\n\nStarted build for patchset #7 on: https://buildkite.com/tvl/depot/builds/27332","accounts_in_message":[],"_revision_number":7},{"id":"5a6513f7e455056e4d65b47c77a8f927d9bf1ad2","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-14 12:54:56.000000000","message":"Patch Set 6: Verified+1\n\nBuild of patchset 6 passed: https://buildkite.com/tvl/depot/builds/27330","accounts_in_message":[],"_revision_number":6},{"id":"310c37381809261a3972ac1470447e4587bf7fc8","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-10-14 12:58:50.000000000","message":"Patch Set 7: Verified+1\n\nBuild of patchset 7 passed: https://buildkite.com/tvl/depot/builds/27332","accounts_in_message":[],"_revision_number":7},{"id":"142691282c128f4abb41e4b020f0580a3d176fb0","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"date":"2023-10-14 13:23:07.000000000","message":"Change has been successfully rebased and submitted as 2d2c4322d93308ddffe1647466abd91025af6a68\n\n5 is the latest approved patch-set.\nThe change was submitted with unreviewed changes in the following files:\n\n```\nThe name of the file: tvix/nix-compat/src/store_path/mod.rs\nInsertions: 0, Deletions: 4.\n\n@@ -192,10 +192,6 @@\n pub fn validate(s: \u0026StorePath) -\u003e Result\u003c(), Error\u003e {\n     validate_name(s.name.as_bytes())?;\n \n-    if s.digest.len() !\u003d DIGEST_SIZE {\n-        return Err(Error::InvalidLength());\n-    }\n-\n     Ok(())\n }\n \n```\n```\nThe name of the file: tvix/store/src/proto/tests/pathinfo.rs\nInsertions: 23, Deletions: 0.\n\n@@ -43,7 +43,7 @@\n         digest: Bytes::new(),\n         size: 0,\n     },\n-    Err(ValidatePathInfoError::InvalidNodeDigestLen(0));\n+    Err(ValidatePathInfoError::InvalidRootNode(castorepb::ValidateNodeError::InvalidDigestLen(0)));\n     \"invalid digest length\"\n )]\n #[test_case(\n@@ -88,7 +88,7 @@\n         digest: Bytes::new(),\n         ..Default::default()\n     },\n-    Err(ValidatePathInfoError::InvalidNodeDigestLen(0));\n+    Err(ValidatePathInfoError::InvalidRootNode(castorepb::ValidateNodeError::InvalidDigestLen(0)));\n     \"invalid digest length\"\n )]\n #[test_case(\n@@ -120,7 +120,7 @@\n #[test_case(\n     castorepb::SymlinkNode {\n         name: DUMMY_NAME.into(),\n-        ..Default::default()\n+        target: \"foo\".into(),\n     },\n     Ok(StorePath::from_str(DUMMY_NAME).expect(\"must succeed\"));\n     \"ok\"\n@@ -128,7 +128,7 @@\n #[test_case(\n     castorepb::SymlinkNode {\n         name: \"invalid\".into(),\n-        ..Default::default()\n+        target: \"foo\".into(),\n     },\n     Err(ValidatePathInfoError::InvalidNodeName(\n         \"invalid\".into(),\n@@ -240,6 +240,29 @@\n     }\n }\n \n+/// Create a node with an empty symlink target, and ensure it fails validation.\n+#[test]\n+fn validate_symlink_empty_target_invalid() {\n+    let node \u003d castorepb::node::Node::Symlink(castorepb::SymlinkNode {\n+        name: \"foo\".into(),\n+        target: \"\".into(),\n+    });\n+\n+    node.validate().expect_err(\"must fail validation\");\n+}\n+\n+/// Create a node with a symlink target including null bytes, and ensure it\n+/// fails validation.\n+#[test]\n+fn validate_symlink_target_null_byte_invalid() {\n+    let node \u003d castorepb::node::Node::Symlink(castorepb::SymlinkNode {\n+        name: \"foo\".into(),\n+        target: \"foo\\0\".into(),\n+    });\n+\n+    node.validate().expect_err(\"must fail validation\");\n+}\n+\n /// Create a PathInfo with a correct deriver field and ensure it succeeds.\n #[test]\n fn validate_valid_deriver() {\n```\n","accounts_in_message":[],"_revision_number":8}],"current_revision_number":8,"current_revision":"2d2c4322d93308ddffe1647466abd91025af6a68","revisions":{"4afcd1813dff09cfc1c1fc60c9b4077507436777":{"kind":"REWORK","_number":1,"created":"2023-10-10 22:33:28.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/9647/1","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9647/1","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9647/1"}}},"commit":{"parents":[{"commit":"ec2de12f7f1a78b2578f51c8e415d32008cfb03b","subject":"feat(tvix/store/protos): add StorePath message","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dec2de12f7f1a78b2578f51c8e415d32008cfb03b"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:22:40.000000000","tz":120},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:33:13.000000000","tz":120},"subject":"feat(tvix/store/protos): add Deriver field to PathInfo","message":"feat(tvix/store/protos): add Deriver field to PathInfo\n\nThis uses the newly introduced StorePath message type to add a Deriver\nfield to the PathInfo message.\n\nSupport for validation is added to both the golang and rust\nimplementation. This includes extending unit tests.\nChange-Id: I6b02777800cad0ecc3e9483d78e860045696a37f\n\nChange-Id: Ifc3eb3263fa25b9eec260db354cd74234c40af7e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d4afcd1813dff09cfc1c1fc60c9b4077507436777"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d4afcd1813dff09cfc1c1fc60c9b4077507436777"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"ec2de12f7f1a78b2578f51c8e415d32008cfb03b","is_merged_in_target_branch":false,"change_id":"Ibfb54d3b206917e51970d1d5fe94fcedb901704b","change_number":9646,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"43644bfcd83e03c884832dd01054386a3b9956ba":{"kind":"REWORK","_number":2,"created":"2023-10-10 23:10:50.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/9647/2","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9647/2","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9647/2"}}},"commit":{"parents":[{"commit":"b3da3b0a7bece08070b2b19f60e217e67a39745b","subject":"feat(tvix/store/protos): add StorePath message","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003db3da3b0a7bece08070b2b19f60e217e67a39745b"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:22:40.000000000","tz":120},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 23:10:45.000000000","tz":120},"subject":"feat(tvix/store/protos): add Deriver field to PathInfo","message":"feat(tvix/store/protos): add Deriver field to PathInfo\n\nThis uses the newly introduced StorePath message type to add a Deriver\nfield to the PathInfo message.\n\nSupport for validation is added to both the golang and rust\nimplementation. This includes extending unit tests.\nChange-Id: I6b02777800cad0ecc3e9483d78e860045696a37f\n\nChange-Id: Ifc3eb3263fa25b9eec260db354cd74234c40af7e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d43644bfcd83e03c884832dd01054386a3b9956ba"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d43644bfcd83e03c884832dd01054386a3b9956ba"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"b3da3b0a7bece08070b2b19f60e217e67a39745b","is_merged_in_target_branch":false,"change_id":"Ibfb54d3b206917e51970d1d5fe94fcedb901704b","change_number":9646,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"1ab356d479e656ce20f779f688ad30a00aad00ce":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2023-10-11 09:13:22.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/9647/3","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9647/3","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9647/3"}}},"commit":{"parents":[{"commit":"b3da3b0a7bece08070b2b19f60e217e67a39745b","subject":"feat(tvix/store/protos): add StorePath message","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003db3da3b0a7bece08070b2b19f60e217e67a39745b"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:22:40.000000000","tz":120},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-11 09:13:10.000000000","tz":120},"subject":"feat(tvix/store/protos): add Deriver field to PathInfo","message":"feat(tvix/store/protos): add Deriver field to PathInfo\n\nThis uses the newly introduced StorePath message type to add a Deriver\nfield to the PathInfo message.\n\nSupport for validation is added to both the golang and rust\nimplementation. This includes extending unit tests.\n\nChange-Id: Ifc3eb3263fa25b9eec260db354cd74234c40af7e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d1ab356d479e656ce20f779f688ad30a00aad00ce"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d1ab356d479e656ce20f779f688ad30a00aad00ce"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"b3da3b0a7bece08070b2b19f60e217e67a39745b","is_merged_in_target_branch":false,"change_id":"Ibfb54d3b206917e51970d1d5fe94fcedb901704b","change_number":9646,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"11237c80069f3832f93347c1e3b8c7fc64a47cbd":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2023-10-11 11:44:09.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/9647/4","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9647/4","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9647/4"}}},"commit":{"parents":[{"commit":"0b096d2243ae0605dc193eb9103e0d618cde334c","subject":"feat(tvix/store/protos): add StorePath message","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0b096d2243ae0605dc193eb9103e0d618cde334c"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:22:40.000000000","tz":120},"committer":{"name":"flokli","email":"flokli@flokli.de","date":"2023-10-11 11:44:09.000000000","tz":0},"subject":"feat(tvix/store/protos): add Deriver field to PathInfo","message":"feat(tvix/store/protos): add Deriver field to PathInfo\n\nThis uses the newly introduced StorePath message type to add a Deriver\nfield to the PathInfo message.\n\nSupport for validation is added to both the golang and rust\nimplementation. This includes extending unit tests.\n\nChange-Id: Ifc3eb3263fa25b9eec260db354cd74234c40af7e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d11237c80069f3832f93347c1e3b8c7fc64a47cbd"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d11237c80069f3832f93347c1e3b8c7fc64a47cbd"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"0b096d2243ae0605dc193eb9103e0d618cde334c","is_merged_in_target_branch":false,"change_id":"Ibfb54d3b206917e51970d1d5fe94fcedb901704b","change_number":9646,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/canon","description":"Rebase"},"ae1955661c5ae0af6edcc7d79e81b8e3813d8915":{"kind":"REWORK","_number":5,"created":"2023-10-11 15:33:38.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/9647/5","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9647/5","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9647/5"}}},"commit":{"parents":[{"commit":"57a7963cb4e226984d38e74bd003265423059d0d","subject":"feat(tvix/store/protos): add StorePath message","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d57a7963cb4e226984d38e74bd003265423059d0d"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:22:40.000000000","tz":120},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-11 15:32:39.000000000","tz":120},"subject":"feat(tvix/store/protos): add Deriver field to PathInfo","message":"feat(tvix/store/protos): add Deriver field to PathInfo\n\nThis uses the newly introduced StorePath message type to add a Deriver\nfield to the PathInfo message.\n\nSupport for validation is added to both the golang and rust\nimplementation. This includes extending unit tests.\n\nChange-Id: Ifc3eb3263fa25b9eec260db354cd74234c40af7e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dae1955661c5ae0af6edcc7d79e81b8e3813d8915"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dae1955661c5ae0af6edcc7d79e81b8e3813d8915"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"57a7963cb4e226984d38e74bd003265423059d0d","is_merged_in_target_branch":false,"change_id":"Ibfb54d3b206917e51970d1d5fe94fcedb901704b","change_number":9646,"patch_set_number":4,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"e9503fafe689290eb7df981f33afd13d23792d03":{"kind":"REWORK","_number":6,"created":"2023-10-14 12:51:23.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/9647/6","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9647/6","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9647/6"}}},"commit":{"parents":[{"commit":"57a7963cb4e226984d38e74bd003265423059d0d","subject":"feat(tvix/store/protos): add StorePath message","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d57a7963cb4e226984d38e74bd003265423059d0d"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:22:40.000000000","tz":120},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-14 12:51:13.000000000","tz":60},"subject":"feat(tvix/store/protos): add Deriver field to PathInfo","message":"feat(tvix/store/protos): add Deriver field to PathInfo\n\nThis uses the newly introduced StorePath message type to add a Deriver\nfield to the PathInfo message.\n\nSupport for validation is added to both the golang and rust\nimplementation. This includes extending unit tests.\n\nChange-Id: Ifc3eb3263fa25b9eec260db354cd74234c40af7e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003de9503fafe689290eb7df981f33afd13d23792d03"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003de9503fafe689290eb7df981f33afd13d23792d03"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"57a7963cb4e226984d38e74bd003265423059d0d","is_merged_in_target_branch":false,"change_id":"Ibfb54d3b206917e51970d1d5fe94fcedb901704b","change_number":9646,"patch_set_number":4,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"ee61155b6572780bca4b005eff972160c8fb7bf7":{"kind":"REWORK","_number":7,"created":"2023-10-14 12:54:50.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/9647/7","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9647/7","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9647/7"}}},"commit":{"parents":[{"commit":"02f38349bc05758c7f7af4ded096b1fa31cffb2b","subject":"feat(tvix/store/protos): add StorePath message","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d02f38349bc05758c7f7af4ded096b1fa31cffb2b"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:22:40.000000000","tz":120},"committer":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-14 12:53:35.000000000","tz":60},"subject":"feat(tvix/store/protos): add Deriver field to PathInfo","message":"feat(tvix/store/protos): add Deriver field to PathInfo\n\nThis uses the newly introduced StorePath message type to add a Deriver\nfield to the PathInfo message.\n\nSupport for validation is added to both the golang and rust\nimplementation. This includes extending unit tests.\n\nChange-Id: Ifc3eb3263fa25b9eec260db354cd74234c40af7e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dee61155b6572780bca4b005eff972160c8fb7bf7"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dee61155b6572780bca4b005eff972160c8fb7bf7"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"02f38349bc05758c7f7af4ded096b1fa31cffb2b","is_merged_in_target_branch":false,"change_id":"Ibfb54d3b206917e51970d1d5fe94fcedb901704b","change_number":9646,"patch_set_number":5,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"2d2c4322d93308ddffe1647466abd91025af6a68":{"kind":"NO_CODE_CHANGE","_number":8,"created":"2023-10-14 13:23:07.000000000","uploader":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"ref":"refs/changes/47/9647/8","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/47/9647/8","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/47/9647/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/47/9647/8"}}},"commit":{"parents":[{"commit":"5f8eb4eeaaad31aedc45efee3143e6b0bbc982a4","subject":"feat(tvix/store/protos): add StorePath message","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d5f8eb4eeaaad31aedc45efee3143e6b0bbc982a4"}]}],"author":{"name":"Florian Klink","email":"flokli@flokli.de","date":"2023-10-10 22:22:40.000000000","tz":120},"committer":{"name":"flokli","email":"flokli@flokli.de","date":"2023-10-14 13:23:07.000000000","tz":0},"subject":"feat(tvix/store/protos): add Deriver field to PathInfo","message":"feat(tvix/store/protos): add Deriver field to PathInfo\n\nThis uses the newly introduced StorePath message type to add a Deriver\nfield to the PathInfo message.\n\nSupport for validation is added to both the golang and rust\nimplementation. This includes extending unit tests.\n\nChange-Id: Ifc3eb3263fa25b9eec260db354cd74234c40af7e\nReviewed-on: https://cl.tvl.fyi/c/depot/+/9647\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\u003d2d2c4322d93308ddffe1647466abd91025af6a68"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d2d2c4322d93308ddffe1647466abd91025af6a68"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"5f8eb4eeaaad31aedc45efee3143e6b0bbc982a4","is_merged_in_target_branch":true,"change_id":"Ibfb54d3b206917e51970d1d5fe94fcedb901704b","change_number":9646,"patch_set_number":6,"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":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"}}]},{"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":[]}}]}
