)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"2d6037d70cb8bf1ece39212df11a29eee3dce5b3","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Florian Klink \u003cflokli@flokli.de\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-07-19 18:26:48 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"feat(tvix/store): use bytes for node names and symlink targets"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some paths might use names that are not valid UTF-8. We should be able"},{"line_number":10,"context_line":"to represent them."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"2a386d86_cdca5839","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":4},"updated":"2023-07-20 10:25:28.000000000","message":"I think this is a refactor","commit_id":"38f6264f7b258d5a8f2f9ef18ac29ec63d0d4217"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"d720ef950369dfc6c23e785050ebdb055c4095b9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Florian Klink \u003cflokli@flokli.de\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-07-19 18:26:48 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"feat(tvix/store): use bytes for node names and symlink targets"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some paths might use names that are not valid UTF-8. We should be able"},{"line_number":10,"context_line":"to represent them."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"637490c6_dd922b33","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":4},"in_reply_to":"2a386d86_cdca5839","updated":"2023-07-20 11:46:25.000000000","message":"Done","commit_id":"38f6264f7b258d5a8f2f9ef18ac29ec63d0d4217"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"affc9869b319c7490b3eca1ebf413500c0540b37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"70296695_a1af66c7","updated":"2023-07-19 15:27:39.000000000","message":"I moved all occurences using OsStringExt to OsStrExt so we can keep things references for a bit longer.","commit_id":"fe76d04666e20ed98e44e8c38d79fe855ab10af6"}],"tvix/store/src/directoryservice/traverse.rs":[{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"0ad647e6f5ccc4a1e1e800b12b0c1a6b53908308","unresolved":true,"context_lines":[{"line_number":60,"context_line":"                            // could stop as soon as e.name is larger than the search string."},{"line_number":61,"context_line":"                            let child_node \u003d directory.nodes().find(|n| {"},{"line_number":62,"context_line":"                                n.get_name()"},{"line_number":63,"context_line":"                                    \u003d\u003d first_component.as_os_str().to_os_string().into_vec()"},{"line_number":64,"context_line":"                            });"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"                            match child_node {"}],"source_content_type":"text/x-rustsrc","patch_set":5,"id":"e0e2d0f9_79ebd594","line":63,"updated":"2023-07-18 20:56:25.000000000","message":"OsStrExt","commit_id":"fe76d04666e20ed98e44e8c38d79fe855ab10af6"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"affc9869b319c7490b3eca1ebf413500c0540b37","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                            // could stop as soon as e.name is larger than the search string."},{"line_number":61,"context_line":"                            let child_node \u003d directory.nodes().find(|n| {"},{"line_number":62,"context_line":"                                n.get_name()"},{"line_number":63,"context_line":"                                    \u003d\u003d first_component.as_os_str().to_os_string().into_vec()"},{"line_number":64,"context_line":"                            });"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"                            match child_node {"}],"source_content_type":"text/x-rustsrc","patch_set":5,"id":"5dd15172_6980ec53","line":63,"in_reply_to":"e0e2d0f9_79ebd594","updated":"2023-07-19 15:27:39.000000000","message":"Uses `.find(|n| n.get_name() \u003d\u003d first_component.as_os_str().as_bytes())` from there now.","commit_id":"fe76d04666e20ed98e44e8c38d79fe855ab10af6"}],"tvix/store/src/import.rs":[{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"0ad647e6f5ccc4a1e1e800b12b0c1a6b53908308","unresolved":true,"context_lines":[{"line_number":1,"context_line":"use crate::blobservice::BlobService;"},{"line_number":2,"context_line":"use crate::directoryservice::DirectoryService;"},{"line_number":3,"context_line":"use crate::{directoryservice::DirectoryPutter, proto};"},{"line_number":4,"context_line":"use std::os::unix::ffi::OsStringExt;"},{"line_number":5,"context_line":"use std::sync::Arc;"},{"line_number":6,"context_line":"use std::{"},{"line_number":7,"context_line":"    collections::HashMap,"}],"source_content_type":"text/x-rustsrc","patch_set":5,"id":"348392e5_d50dde92","line":4,"updated":"2023-07-18 20:56:25.000000000","message":"OsStrExt","commit_id":"fe76d04666e20ed98e44e8c38d79fe855ab10af6"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"affc9869b319c7490b3eca1ebf413500c0540b37","unresolved":false,"context_lines":[{"line_number":1,"context_line":"use crate::blobservice::BlobService;"},{"line_number":2,"context_line":"use crate::directoryservice::DirectoryService;"},{"line_number":3,"context_line":"use crate::{directoryservice::DirectoryPutter, proto};"},{"line_number":4,"context_line":"use std::os::unix::ffi::OsStringExt;"},{"line_number":5,"context_line":"use std::sync::Arc;"},{"line_number":6,"context_line":"use std::{"},{"line_number":7,"context_line":"    collections::HashMap,"}],"source_content_type":"text/x-rustsrc","patch_set":5,"id":"6b478335_eb9cb8a0","line":4,"in_reply_to":"348392e5_d50dde92","updated":"2023-07-19 15:27:39.000000000","message":"Done, this is now using `as_bytes().to_vec()`, instead of doing the dance to an OsString first.","commit_id":"fe76d04666e20ed98e44e8c38d79fe855ab10af6"}],"tvix/store/src/proto/mod.rs":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"2d6037d70cb8bf1ece39212df11a29eee3dce5b3","unresolved":true,"context_lines":[{"line_number":76,"context_line":"    if name.is_empty()"},{"line_number":77,"context_line":"        || name \u003d\u003d b\"..\""},{"line_number":78,"context_line":"        || name \u003d\u003d b\".\""},{"line_number":79,"context_line":"        || (*name).contains(\u00260x00)"},{"line_number":80,"context_line":"        || (*name).contains(\u0026b\u0027/\u0027)"},{"line_number":81,"context_line":"    {"},{"line_number":82,"context_line":"        return Err(err(name.to_vec()));"}],"source_content_type":"text/x-rustsrc","patch_set":6,"id":"d9adcfd4_e73b05a3","line":79,"range":{"start_line":79,"start_character":12,"end_line":79,"end_character":13},"updated":"2023-07-20 10:25:28.000000000","message":"this deref looks suspicious, why is it needed?\n\nhttps://doc.rust-lang.org/std/primitive.slice.html#method.contains","commit_id":"38f6264f7b258d5a8f2f9ef18ac29ec63d0d4217"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"bccdd7015bbb1b76c7419ba27564d993f1a14530","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    if name.is_empty()"},{"line_number":77,"context_line":"        || name \u003d\u003d b\"..\""},{"line_number":78,"context_line":"        || name \u003d\u003d b\".\""},{"line_number":79,"context_line":"        || (*name).contains(\u00260x00)"},{"line_number":80,"context_line":"        || (*name).contains(\u0026b\u0027/\u0027)"},{"line_number":81,"context_line":"    {"},{"line_number":82,"context_line":"        return Err(err(name.to_vec()));"}],"source_content_type":"text/x-rustsrc","patch_set":6,"id":"0e6c22ea_e402cac9","line":79,"range":{"start_line":79,"start_character":12,"end_line":79,"end_character":13},"in_reply_to":"d9adcfd4_e73b05a3","updated":"2023-07-20 11:47:58.000000000","message":"You\u0027re right, it\u0027s not needed. Removed.","commit_id":"38f6264f7b258d5a8f2f9ef18ac29ec63d0d4217"}]}
