)]}'
{"metropolis/build/fwprune/main.go":[{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8c5268ccf5636ec303bf032ae4488b76ff4fd6d1","unresolved":true,"context_lines":[{"line_number":15,"context_line":")"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"// fwPaths returns a slice of filesystem paths relative to the root of"},{"line_number":18,"context_line":"// linux-firmware repository, pointing at firmware files, according to contents"},{"line_number":19,"context_line":"// of the kernel build side effect: modules.builtin.modinfo."},{"line_number":20,"context_line":"func fwPaths(mi []byte) []string {"},{"line_number":21,"context_line":"\t// Use a map pset to deduplicate firmware paths."}],"source_content_type":"text/x-go","patch_set":2,"id":"4ca17f52_a0842e15","line":18,"range":{"start_line":18,"start_character":3,"end_line":18,"end_character":4},"updated":"2021-12-23 11:14:34.000000000","message":"the","commit_id":"9bd270830087b93930f4b0a743495e3a00db01b7"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7b859cbee53357f86b35f7fb53f9e2c64b9d9fa9","unresolved":false,"context_lines":[{"line_number":15,"context_line":")"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"// fwPaths returns a slice of filesystem paths relative to the root of"},{"line_number":18,"context_line":"// linux-firmware repository, pointing at firmware files, according to contents"},{"line_number":19,"context_line":"// of the kernel build side effect: modules.builtin.modinfo."},{"line_number":20,"context_line":"func fwPaths(mi []byte) []string {"},{"line_number":21,"context_line":"\t// Use a map pset to deduplicate firmware paths."}],"source_content_type":"text/x-go","patch_set":2,"id":"5672f19f_e7bb425e","line":18,"range":{"start_line":18,"start_character":3,"end_line":18,"end_character":4},"in_reply_to":"4ca17f52_a0842e15","updated":"2021-12-23 15:55:50.000000000","message":"Done","commit_id":"9bd270830087b93930f4b0a743495e3a00db01b7"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8c5268ccf5636ec303bf032ae4488b76ff4fd6d1","unresolved":true,"context_lines":[{"line_number":22,"context_line":"\tpset :\u003d make(map[string]bool)"},{"line_number":23,"context_line":"\t// Get a slice of entries of the form \"unix.license\u003dGPL\" from mi. Then extract"},{"line_number":24,"context_line":"\t// firmware information from the it."},{"line_number":25,"context_line":"\tentries :\u003d strings.Split(string(mi[:]), \"\\x00\")"},{"line_number":26,"context_line":"\tfor _, entry :\u003d range entries {"},{"line_number":27,"context_line":"\t\t// Skip empty entries."},{"line_number":28,"context_line":"\t\tif len(entry) \u003d\u003d 0 {"}],"source_content_type":"text/x-go","patch_set":2,"id":"f5a471c4_892fcdc0","line":25,"range":{"start_line":25,"start_character":12,"end_line":25,"end_character":19},"updated":"2021-12-23 11:14:34.000000000","message":"bytes.Split seems much more appropriate when splitting by \\x00. Go\u0027s string is supposed to be UTF-8, even though it doesn\u0027t enforce that at runtime. You can cast to string at the split producing `kv`.","commit_id":"9bd270830087b93930f4b0a743495e3a00db01b7"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7b859cbee53357f86b35f7fb53f9e2c64b9d9fa9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\tpset :\u003d make(map[string]bool)"},{"line_number":23,"context_line":"\t// Get a slice of entries of the form \"unix.license\u003dGPL\" from mi. Then extract"},{"line_number":24,"context_line":"\t// firmware information from the it."},{"line_number":25,"context_line":"\tentries :\u003d strings.Split(string(mi[:]), \"\\x00\")"},{"line_number":26,"context_line":"\tfor _, entry :\u003d range entries {"},{"line_number":27,"context_line":"\t\t// Skip empty entries."},{"line_number":28,"context_line":"\t\tif len(entry) \u003d\u003d 0 {"}],"source_content_type":"text/x-go","patch_set":2,"id":"04b0cc20_3869e68e","line":25,"range":{"start_line":25,"start_character":12,"end_line":25,"end_character":19},"in_reply_to":"f5a471c4_892fcdc0","updated":"2021-12-23 15:55:50.000000000","message":"Done","commit_id":"9bd270830087b93930f4b0a743495e3a00db01b7"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8c5268ccf5636ec303bf032ae4488b76ff4fd6d1","unresolved":true,"context_lines":[{"line_number":86,"context_line":"\tif _, err :\u003d io.Copy(o, i); err !\u003d nil {"},{"line_number":87,"context_line":"\t\treturn err"},{"line_number":88,"context_line":"\t}"},{"line_number":89,"context_line":"\treturn o.Close()"},{"line_number":90,"context_line":"}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"func main() {"}],"source_content_type":"text/x-go","patch_set":2,"id":"bbd62b8f_11e00447","line":89,"range":{"start_line":89,"start_character":8,"end_line":89,"end_character":15},"updated":"2021-12-23 11:14:34.000000000","message":"This should technically also be in a defer because if we exit after the io.Copy fails it will leak. Practically none of this matters, but if we\u0027re going to do it we might as well do it right.","commit_id":"9bd270830087b93930f4b0a743495e3a00db01b7"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7b859cbee53357f86b35f7fb53f9e2c64b9d9fa9","unresolved":false,"context_lines":[{"line_number":86,"context_line":"\tif _, err :\u003d io.Copy(o, i); err !\u003d nil {"},{"line_number":87,"context_line":"\t\treturn err"},{"line_number":88,"context_line":"\t}"},{"line_number":89,"context_line":"\treturn o.Close()"},{"line_number":90,"context_line":"}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"func main() {"}],"source_content_type":"text/x-go","patch_set":2,"id":"68ad7d1b_a8ae1bd9","line":89,"range":{"start_line":89,"start_character":8,"end_line":89,"end_character":15},"in_reply_to":"bbd62b8f_11e00447","updated":"2021-12-23 15:55:50.000000000","message":"Done","commit_id":"9bd270830087b93930f4b0a743495e3a00db01b7"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8c5268ccf5636ec303bf032ae4488b76ff4fd6d1","unresolved":true,"context_lines":[{"line_number":92,"context_line":"func main() {"},{"line_number":93,"context_line":"\tif len(os.Args) !\u003d 4 {"},{"line_number":94,"context_line":"\t\tfmt.Println(\"Usage: fwprune modules.builtin.modinfo fwsrc fwdst\")"},{"line_number":95,"context_line":"\t\tfmt.Println(\"The directory at fwdst will be filled with firmware required by the kernel\")"},{"line_number":96,"context_line":"\t\tfmt.Println(\"builtins specified in modules.builtin.modinfo [1]. fwsrc must point to the\")"},{"line_number":97,"context_line":"\t\tfmt.Println(\"linux-firmware repository [2]. All parameters must be filesystem paths. The\")"},{"line_number":98,"context_line":"\t\tfmt.Println(\"necessary parts of the original directory layout will be recreated at fwdst.\")"}],"source_content_type":"text/x-go","patch_set":2,"id":"59116cdf_ab8968da","line":95,"range":{"start_line":95,"start_character":14,"end_line":95,"end_character":15},"updated":"2021-12-23 11:14:34.000000000","message":"Go has multiline string literals which are much easier to read here. Also nobody will ever call this utility by hand so everything after line 94 should IMO be documented in the source code only.","commit_id":"9bd270830087b93930f4b0a743495e3a00db01b7"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7b859cbee53357f86b35f7fb53f9e2c64b9d9fa9","unresolved":false,"context_lines":[{"line_number":92,"context_line":"func main() {"},{"line_number":93,"context_line":"\tif len(os.Args) !\u003d 4 {"},{"line_number":94,"context_line":"\t\tfmt.Println(\"Usage: fwprune modules.builtin.modinfo fwsrc fwdst\")"},{"line_number":95,"context_line":"\t\tfmt.Println(\"The directory at fwdst will be filled with firmware required by the kernel\")"},{"line_number":96,"context_line":"\t\tfmt.Println(\"builtins specified in modules.builtin.modinfo [1]. fwsrc must point to the\")"},{"line_number":97,"context_line":"\t\tfmt.Println(\"linux-firmware repository [2]. All parameters must be filesystem paths. The\")"},{"line_number":98,"context_line":"\t\tfmt.Println(\"necessary parts of the original directory layout will be recreated at fwdst.\")"}],"source_content_type":"text/x-go","patch_set":2,"id":"396d8a41_dfdea8b0","line":95,"range":{"start_line":95,"start_character":14,"end_line":95,"end_character":15},"in_reply_to":"59116cdf_ab8968da","updated":"2021-12-23 15:55:50.000000000","message":"Done","commit_id":"9bd270830087b93930f4b0a743495e3a00db01b7"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"adb2e30e4c2766a781560496ab8c6656048596bf","unresolved":true,"context_lines":[{"line_number":88,"context_line":"\tif _, err :\u003d io.Copy(o, i); err !\u003d nil {"},{"line_number":89,"context_line":"\t\treturn err"},{"line_number":90,"context_line":"\t}"},{"line_number":91,"context_line":"\treturn o.Close()"},{"line_number":92,"context_line":"}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"func main() {"}],"source_content_type":"text/x-go","patch_set":3,"id":"61e6b9e3_ba467785","line":91,"range":{"start_line":91,"start_character":8,"end_line":91,"end_character":17},"updated":"2022-01-04 12:44:33.000000000","message":"nil","commit_id":"ed5395dabc769abcbaa112829c6630ab1b4e27aa"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7c20ec010750280e5d5cd4fec73d9324121ad8d9","unresolved":false,"context_lines":[{"line_number":88,"context_line":"\tif _, err :\u003d io.Copy(o, i); err !\u003d nil {"},{"line_number":89,"context_line":"\t\treturn err"},{"line_number":90,"context_line":"\t}"},{"line_number":91,"context_line":"\treturn o.Close()"},{"line_number":92,"context_line":"}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"func main() {"}],"source_content_type":"text/x-go","patch_set":3,"id":"5f811ed1_8e568a26","line":91,"range":{"start_line":91,"start_character":8,"end_line":91,"end_character":17},"in_reply_to":"534a5152_5e792cb5","updated":"2022-01-06 15:00:24.000000000","message":"Done","commit_id":"ed5395dabc769abcbaa112829c6630ab1b4e27aa"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"633b08b87d43343b1181fca86d5e20a43e8acf85","unresolved":true,"context_lines":[{"line_number":88,"context_line":"\tif _, err :\u003d io.Copy(o, i); err !\u003d nil {"},{"line_number":89,"context_line":"\t\treturn err"},{"line_number":90,"context_line":"\t}"},{"line_number":91,"context_line":"\treturn o.Close()"},{"line_number":92,"context_line":"}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"func main() {"}],"source_content_type":"text/x-go","patch_set":3,"id":"534a5152_5e792cb5","line":91,"range":{"start_line":91,"start_character":8,"end_line":91,"end_character":17},"in_reply_to":"61e6b9e3_ba467785","updated":"2022-01-06 15:00:07.000000000","message":"Oops, I didn\u0027t realize it\u0027d only return an error if called twice.","commit_id":"ed5395dabc769abcbaa112829c6630ab1b4e27aa"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"adb2e30e4c2766a781560496ab8c6656048596bf","unresolved":true,"context_lines":[{"line_number":94,"context_line":"func main() {"},{"line_number":95,"context_line":"\t// Print usage information, if misused."},{"line_number":96,"context_line":"\tif len(os.Args) !\u003d 4 {"},{"line_number":97,"context_line":"\t\tfmt.Println(\"Usage: fwprune modules.builtin.modinfo fwsrc fwdst\")"},{"line_number":98,"context_line":"\t\t// The directory at fwdst will be filled with firmware required by the kernel"},{"line_number":99,"context_line":"\t\t// builtins specified in modules.builtin.modinfo [1]. fwsrc must point to the"},{"line_number":100,"context_line":"\t\t// linux-firmware repository [2]. All parameters must be filesystem paths. The"}],"source_content_type":"text/x-go","patch_set":3,"id":"2425cd3f_f5d839a0","line":97,"range":{"start_line":97,"start_character":54,"end_line":97,"end_character":59},"updated":"2022-01-04 12:44:33.000000000","message":"These are not consistent with the variable names they are assigned to.","commit_id":"ed5395dabc769abcbaa112829c6630ab1b4e27aa"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"633b08b87d43343b1181fca86d5e20a43e8acf85","unresolved":false,"context_lines":[{"line_number":94,"context_line":"func main() {"},{"line_number":95,"context_line":"\t// Print usage information, if misused."},{"line_number":96,"context_line":"\tif len(os.Args) !\u003d 4 {"},{"line_number":97,"context_line":"\t\tfmt.Println(\"Usage: fwprune modules.builtin.modinfo fwsrc fwdst\")"},{"line_number":98,"context_line":"\t\t// The directory at fwdst will be filled with firmware required by the kernel"},{"line_number":99,"context_line":"\t\t// builtins specified in modules.builtin.modinfo [1]. fwsrc must point to the"},{"line_number":100,"context_line":"\t\t// linux-firmware repository [2]. All parameters must be filesystem paths. The"}],"source_content_type":"text/x-go","patch_set":3,"id":"ed007704_5c332408","line":97,"range":{"start_line":97,"start_character":54,"end_line":97,"end_character":59},"in_reply_to":"2425cd3f_f5d839a0","updated":"2022-01-06 15:00:07.000000000","message":"Done","commit_id":"ed5395dabc769abcbaa112829c6630ab1b4e27aa"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"adb2e30e4c2766a781560496ab8c6656048596bf","unresolved":true,"context_lines":[{"line_number":95,"context_line":"\t// Print usage information, if misused."},{"line_number":96,"context_line":"\tif len(os.Args) !\u003d 4 {"},{"line_number":97,"context_line":"\t\tfmt.Println(\"Usage: fwprune modules.builtin.modinfo fwsrc fwdst\")"},{"line_number":98,"context_line":"\t\t// The directory at fwdst will be filled with firmware required by the kernel"},{"line_number":99,"context_line":"\t\t// builtins specified in modules.builtin.modinfo [1]. fwsrc must point to the"},{"line_number":100,"context_line":"\t\t// linux-firmware repository [2]. All parameters must be filesystem paths. The"},{"line_number":101,"context_line":"\t\t// necessary parts of the original directory layout will be recreated at fwdst."},{"line_number":102,"context_line":"\t\t// fwprune will output a list of directories and files it creates."},{"line_number":103,"context_line":"\t\t// [1] https://www.kernel.org/doc/Documentation/kbuild/kbuild.txt"},{"line_number":104,"context_line":"\t\t// [2] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"},{"line_number":105,"context_line":"\t\tos.Exit(1)"},{"line_number":106,"context_line":"\t}"},{"line_number":107,"context_line":"\tmodinfo :\u003d os.Args[1]"}],"source_content_type":"text/x-go","patch_set":3,"id":"6afdd2a5_d8eccba7","line":104,"range":{"start_line":98,"start_character":2,"end_line":104,"end_character":84},"updated":"2022-01-04 12:44:33.000000000","message":"Move this on top of the main function or even into package-level docs.","commit_id":"ed5395dabc769abcbaa112829c6630ab1b4e27aa"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"633b08b87d43343b1181fca86d5e20a43e8acf85","unresolved":true,"context_lines":[{"line_number":95,"context_line":"\t// Print usage information, if misused."},{"line_number":96,"context_line":"\tif len(os.Args) !\u003d 4 {"},{"line_number":97,"context_line":"\t\tfmt.Println(\"Usage: fwprune modules.builtin.modinfo fwsrc fwdst\")"},{"line_number":98,"context_line":"\t\t// The directory at fwdst will be filled with firmware required by the kernel"},{"line_number":99,"context_line":"\t\t// builtins specified in modules.builtin.modinfo [1]. fwsrc must point to the"},{"line_number":100,"context_line":"\t\t// linux-firmware repository [2]. All parameters must be filesystem paths. The"},{"line_number":101,"context_line":"\t\t// necessary parts of the original directory layout will be recreated at fwdst."},{"line_number":102,"context_line":"\t\t// fwprune will output a list of directories and files it creates."},{"line_number":103,"context_line":"\t\t// [1] https://www.kernel.org/doc/Documentation/kbuild/kbuild.txt"},{"line_number":104,"context_line":"\t\t// [2] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"},{"line_number":105,"context_line":"\t\tos.Exit(1)"},{"line_number":106,"context_line":"\t}"},{"line_number":107,"context_line":"\tmodinfo :\u003d os.Args[1]"}],"source_content_type":"text/x-go","patch_set":3,"id":"90b15e04_2e06b5f9","line":104,"range":{"start_line":98,"start_character":2,"end_line":104,"end_character":84},"in_reply_to":"6afdd2a5_d8eccba7","updated":"2022-01-06 15:00:07.000000000","message":"I moved it at the top of the body, since it\u0027s not really a function doc.","commit_id":"ed5395dabc769abcbaa112829c6630ab1b4e27aa"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7c20ec010750280e5d5cd4fec73d9324121ad8d9","unresolved":false,"context_lines":[{"line_number":95,"context_line":"\t// Print usage information, if misused."},{"line_number":96,"context_line":"\tif len(os.Args) !\u003d 4 {"},{"line_number":97,"context_line":"\t\tfmt.Println(\"Usage: fwprune modules.builtin.modinfo fwsrc fwdst\")"},{"line_number":98,"context_line":"\t\t// The directory at fwdst will be filled with firmware required by the kernel"},{"line_number":99,"context_line":"\t\t// builtins specified in modules.builtin.modinfo [1]. fwsrc must point to the"},{"line_number":100,"context_line":"\t\t// linux-firmware repository [2]. All parameters must be filesystem paths. The"},{"line_number":101,"context_line":"\t\t// necessary parts of the original directory layout will be recreated at fwdst."},{"line_number":102,"context_line":"\t\t// fwprune will output a list of directories and files it creates."},{"line_number":103,"context_line":"\t\t// [1] https://www.kernel.org/doc/Documentation/kbuild/kbuild.txt"},{"line_number":104,"context_line":"\t\t// [2] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"},{"line_number":105,"context_line":"\t\tos.Exit(1)"},{"line_number":106,"context_line":"\t}"},{"line_number":107,"context_line":"\tmodinfo :\u003d os.Args[1]"}],"source_content_type":"text/x-go","patch_set":3,"id":"4fcf25b2_c58c3c56","line":104,"range":{"start_line":98,"start_character":2,"end_line":104,"end_character":84},"in_reply_to":"90b15e04_2e06b5f9","updated":"2022-01-06 15:00:24.000000000","message":"Done","commit_id":"ed5395dabc769abcbaa112829c6630ab1b4e27aa"}]}
