)]}'
{"id":"snix~30596","triplet_id":"snix~canon~I8983f84a7cff28b2c892d5829b9880ed22be4389","project":"snix","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000010":{"account":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"last_update":"2025-07-04 16:41:14.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I8983f84a7cff28b2c892d5829b9880ed22be4389","subject":"fix(eval): avoid stat calls in builtins.readDir","status":"MERGED","created":"2025-07-04 13:30:30.000000000","updated":"2025-07-04 16:41:14.000000000","submitted":"2025-07-04 16:41:14.000000000","submitter":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"30596","meta_rev_id":"1d076e43607f7252de8a979e4d07c4faa5cf0285","_number":30596,"virtual_id_number":30596,"owner":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"actions":{},"labels":{"Code-Review":{"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":2,"date":"2025-07-04 16:41:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"}],"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":"2025-07-04 16:41:14.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":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0,"optional":true},"Autosubmit":{"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"},{"value":0,"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"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":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-07-04 13:30:31.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":"2025-07-04 13:35:56.000000000","updated_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"state":"REVIEWER"},{"updated":"2025-07-04 13:49:18.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":"31c4fe0738d5f5791afdb987e66423724e8de5a3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"date":"2025-07-04 13:30:30.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"fb5f257776d2a2ef6cb968f26ad64686260cfd4d","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-07-04 13:30:31.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/snix/snix/builds/1414","accounts_in_message":[],"_revision_number":1},{"id":"4d518fae553ae9990bf87382b60ede64f3ebec16","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"date":"2025-07-04 13:32:37.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"ff1faf7b4d10825d670293e3a840f832899dfbda","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-07-04 13:32:38.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/snix/snix/builds/1415","accounts_in_message":[],"_revision_number":2},{"id":"ceab51da7d8dce24b0b3afef3ffc17d379ac9f8e","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2025-07-04 13:35:56.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"27fef5504205e82598f1838662d887a21e51a80a","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-07-04 13:49:18.000000000","message":"Patch Set 2: Verified+1\n\nBuild of patchset 2 passed: https://buildkite.com/snix/snix/builds/1415","accounts_in_message":[],"_revision_number":2},{"id":"1d076e43607f7252de8a979e4d07c4faa5cf0285","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"date":"2025-07-04 16:41:14.000000000","message":"Change has been successfully rebased and submitted as ba0a01e7aabbb1622c682921519acec82cf74287","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"ba0a01e7aabbb1622c682921519acec82cf74287","revisions":{"c1c7936da62d165aebbc21b65c98faabeffa0a88":{"kind":"REWORK","_number":1,"created":"2025-07-04 13:30:30.000000000","uploader":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"ref":"refs/changes/96/30596/1","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/96/30596/1","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/96/30596/1"}}},"commit":{"parents":[{"commit":"e9073eeddd0bd02cde7dce4607aa328b310f38f7","subject":"chore(nar-bridge): upgrade to 2024 edition"}],"author":{"name":"Domen Kožar","email":"domen@cachix.org","date":"2025-07-04 13:29:47.000000000","tz":-300},"committer":{"name":"Domen Kožar","email":"domen@cachix.org","date":"2025-07-04 13:30:03.000000000","tz":-300},"subject":"fix(eval): avoid stat calls in builtins.readDir","message":"fix(eval): avoid stat calls in builtins.readDir\n\nUse entry.file_type() instead of entry.metadata().file_type() to avoid\nunnecessary stat syscalls. The file_type() method uses the cached d_type\nfield from the readdir() syscall when available, eliminating the need\nfor additional filesystem access.\n\nThis matches the behavior described in https://github.com/NixOS/nix/pull/13412\nwhere readDir should only read directory entries without stat\u0027ing each file.\n\nChange-Id: I8983f84a7cff28b2c892d5829b9880ed22be4389\n"},"branch":"refs/heads/canon"},"1d3614026ad7baefdb0fe68dcdda94d9c8babf00":{"kind":"REWORK","_number":2,"created":"2025-07-04 13:32:37.000000000","uploader":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"ref":"refs/changes/96/30596/2","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/96/30596/2","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/96/30596/2"}}},"commit":{"parents":[{"commit":"e9073eeddd0bd02cde7dce4607aa328b310f38f7","subject":"chore(nar-bridge): upgrade to 2024 edition"}],"author":{"name":"Domen Kožar","email":"domen@cachix.org","date":"2025-07-04 13:29:47.000000000","tz":-300},"committer":{"name":"Domen Kožar","email":"domen@cachix.org","date":"2025-07-04 13:32:23.000000000","tz":-300},"subject":"fix(eval): avoid stat calls in builtins.readDir","message":"fix(eval): avoid stat calls in builtins.readDir\n\nUse entry.file_type() instead of entry.metadata().file_type() to avoid\nunnecessary stat syscalls. The file_type() method uses the cached d_type\nfield from the readdir() syscall when available, eliminating the need\nfor additional filesystem access.\n\nThis matches the behavior described in https://github.com/NixOS/nix/pull/13412\nwhere readDir should only read directory entries without stat\u0027ing each file.\n\nChange-Id: I8983f84a7cff28b2c892d5829b9880ed22be4389\n"},"branch":"refs/heads/canon"},"ba0a01e7aabbb1622c682921519acec82cf74287":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2025-07-04 16:41:14.000000000","uploader":{"_account_id":1000010,"name":"Domen Kožar","email":"domen@cachix.org","username":"domenkozar"},"ref":"refs/changes/96/30596/3","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/96/30596/3","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/96/30596/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/96/30596/3"}}},"commit":{"parents":[{"commit":"e9073eeddd0bd02cde7dce4607aa328b310f38f7","subject":"chore(nar-bridge): upgrade to 2024 edition"}],"author":{"name":"Domen Kožar","email":"domen@cachix.org","date":"2025-07-04 13:29:47.000000000","tz":-300},"committer":{"name":"Domen Kožar","email":"domen@cachix.org","date":"2025-07-04 16:41:14.000000000","tz":0},"subject":"fix(eval): avoid stat calls in builtins.readDir","message":"fix(eval): avoid stat calls in builtins.readDir\n\nUse entry.file_type() instead of entry.metadata().file_type() to avoid\nunnecessary stat syscalls. The file_type() method uses the cached d_type\nfield from the readdir() syscall when available, eliminating the need\nfor additional filesystem access.\n\nThis matches the behavior described in https://github.com/NixOS/nix/pull/13412\nwhere readDir should only read directory entries without stat\u0027ing each file.\n\nChange-Id: I8983f84a7cff28b2c892d5829b9880ed22be4389\nReviewed-on: https://cl.snix.dev/c/snix/+/30596\nReviewed-by: Florian Klink \u003cflokli@flokli.de\u003e\nTested-by: besadii\n"},"branch":"refs/heads/canon","description":"Rebase","conflicts":{"ours":"1d3614026ad7baefdb0fe68dcdda94d9c8babf00","theirs":"e9073eeddd0bd02cde7dce4607aa328b310f38f7","contains_conflicts":false}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}},{"label":"Verified","status":"MAY","applied_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]}},{"label":"Autosubmit","status":"MAY"}]},{"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":{}}}]}
