)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"change_message_id":"8c3d13a098e922c0af70be845224911cebdcd8e1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"79a8a171_87164490","updated":"2022-05-25 23:27:58.000000000","message":"quoting the variable substitutions throughout the script might be nice, just in case","commit_id":"01576c6e689ad820145a37baf4893ed8eb2db23f"},{"author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"change_message_id":"edbc13a5c2243e3455a14cc8b308731c9ec54bb1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3fea4c73_4ee2c98b","in_reply_to":"266d89fa_564af358","updated":"2022-05-26 00:01:06.000000000","message":"yeah","commit_id":"01576c6e689ad820145a37baf4893ed8eb2db23f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"3c00f1ad1e71c0d21f97a3866653520d71edf78d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"deaec3b2_83fd7d03","in_reply_to":"3fea4c73_4ee2c98b","updated":"2022-05-26 08:34:19.000000000","message":"I looked it over 5 times then found the unquoted `ref` on the last line, fixed.","commit_id":"01576c6e689ad820145a37baf4893ed8eb2db23f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"e37ef04b02212cdb673e693e2ae5a79d1c090211","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"266d89fa_564af358","in_reply_to":"79a8a171_87164490","updated":"2022-05-25 23:53:04.000000000","message":"I don\u0027t see any unquoted ones. Do you mean the ones interpolated by Nix?","commit_id":"01576c6e689ad820145a37baf4893ed8eb2db23f"}],"tools/releases/default.nix":[{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"25ec3f243c918d9db1c6278468c6d8d8565a9de7","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      echo \u0027Pushing filtered repository to ${remote}:${ref}\u0027"},{"line_number":23,"context_line":"      ${pkgs.git}/bin/git push ${lib.optionalString force \"-f\"} \\"},{"line_number":24,"context_line":"        \u0027${remote}\u0027 FILTERED_HEAD:${ref}"},{"line_number":25,"context_line":"    \u0027\u0027;"},{"line_number":26,"context_line":"  };"},{"line_number":27,"context_line":"}"}],"source_content_type":"text/x-nix","patch_set":1,"id":"f3d079af_ce4fa2ae","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":33},"updated":"2022-05-25 16:22:41.000000000","message":"I\u0027m pretty sure this will cause a race condition between a) multiple pipeline runs of canon and multiple mirrored repos.","commit_id":"2492f1ae5458fe949570b7613c61d3abeb1ec3f1"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"3e66e34004e565a9e6677f9aff6b876e4fec4262","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      echo \u0027Pushing filtered repository to ${remote}:${ref}\u0027"},{"line_number":23,"context_line":"      ${pkgs.git}/bin/git push ${lib.optionalString force \"-f\"} \\"},{"line_number":24,"context_line":"        \u0027${remote}\u0027 FILTERED_HEAD:${ref}"},{"line_number":25,"context_line":"    \u0027\u0027;"},{"line_number":26,"context_line":"  };"},{"line_number":27,"context_line":"}"}],"source_content_type":"text/x-nix","patch_set":1,"id":"15a40808_7fd3be3b","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":33},"in_reply_to":"51f97fe2_0caee123","updated":"2022-05-25 19:16:08.000000000","message":"[8:57:42 pm] \u003csterni\u003e tazjin: sure feel free to resolve","commit_id":"2492f1ae5458fe949570b7613c61d3abeb1ec3f1"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"e84f783f4da97eb13c2a396b801282073becbd12","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      echo \u0027Pushing filtered repository to ${remote}:${ref}\u0027"},{"line_number":23,"context_line":"      ${pkgs.git}/bin/git push ${lib.optionalString force \"-f\"} \\"},{"line_number":24,"context_line":"        \u0027${remote}\u0027 FILTERED_HEAD:${ref}"},{"line_number":25,"context_line":"    \u0027\u0027;"},{"line_number":26,"context_line":"  };"},{"line_number":27,"context_line":"}"}],"source_content_type":"text/x-nix","patch_set":1,"id":"51f97fe2_0caee123","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":33},"in_reply_to":"c84cb839_06fb00e9","updated":"2022-05-25 16:34:09.000000000","message":"Checkouts are cleaned up with `git clean -fxqd` between runs. This means a subsequent build *could* see a different `FILTERED_HEAD` ref *before* josh-filter is run, but not after.","commit_id":"2492f1ae5458fe949570b7613c61d3abeb1ec3f1"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"fd6d87c92cee1ccd23597e3041b41338657d89b8","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      echo \u0027Pushing filtered repository to ${remote}:${ref}\u0027"},{"line_number":23,"context_line":"      ${pkgs.git}/bin/git push ${lib.optionalString force \"-f\"} \\"},{"line_number":24,"context_line":"        \u0027${remote}\u0027 FILTERED_HEAD:${ref}"},{"line_number":25,"context_line":"    \u0027\u0027;"},{"line_number":26,"context_line":"  };"},{"line_number":27,"context_line":"}"}],"source_content_type":"text/x-nix","patch_set":1,"id":"c84cb839_06fb00e9","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":33},"in_reply_to":"dbe0cc72_ad34849c","updated":"2022-05-25 16:26:55.000000000","message":"Oh right, then nvm. Is the checkout also never reused per pipeline run?","commit_id":"2492f1ae5458fe949570b7613c61d3abeb1ec3f1"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"17288e42d7faf9cb6aab8f0fb016f0b59fb92dda","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"      echo \u0027Pushing filtered repository to ${remote}:${ref}\u0027"},{"line_number":23,"context_line":"      ${pkgs.git}/bin/git push ${lib.optionalString force \"-f\"} \\"},{"line_number":24,"context_line":"        \u0027${remote}\u0027 FILTERED_HEAD:${ref}"},{"line_number":25,"context_line":"    \u0027\u0027;"},{"line_number":26,"context_line":"  };"},{"line_number":27,"context_line":"}"}],"source_content_type":"text/x-nix","patch_set":1,"id":"dbe0cc72_ad34849c","line":24,"range":{"start_line":24,"start_character":20,"end_line":24,"end_character":33},"in_reply_to":"f3d079af_ce4fa2ae","updated":"2022-05-25 16:24:06.000000000","message":"How would it? They\u0027re all running in individual checkouts, in separate agents.","commit_id":"2492f1ae5458fe949570b7613c61d3abeb1ec3f1"},{"author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"change_message_id":"8c3d13a098e922c0af70be845224911cebdcd8e1","unresolved":true,"context_lines":[{"line_number":26,"context_line":"      git fetch \u0027${remote}\u0027 \u0027${ref}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"      if git merge-base --is-ancestor FILTERED_HEAD FETCH_HEAD; then"},{"line_number":29,"context_line":"        echo \u0027Commit already present, nothing to push.\u0027"},{"line_number":30,"context_line":"        exit 0"},{"line_number":31,"context_line":"      fi"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-nix","patch_set":5,"id":"e07f7964_e2696767","line":29,"updated":"2022-05-25 23:27:58.000000000","message":"do we need to do this? couldn\u0027t we just push unconditionally and let it be a no-op?","commit_id":"01576c6e689ad820145a37baf4893ed8eb2db23f"},{"author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"change_message_id":"f8a1e90fec90de5ddbd48df5fabbe03dd170f0fd","unresolved":false,"context_lines":[{"line_number":26,"context_line":"      git fetch \u0027${remote}\u0027 \u0027${ref}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"      if git merge-base --is-ancestor FILTERED_HEAD FETCH_HEAD; then"},{"line_number":29,"context_line":"        echo \u0027Commit already present, nothing to push.\u0027"},{"line_number":30,"context_line":"        exit 0"},{"line_number":31,"context_line":"      fi"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-nix","patch_set":5,"id":"2ae6ccca_b21d9870","line":29,"in_reply_to":"79b4f6f7_bb72878b","updated":"2022-05-26 00:01:25.000000000","message":"ah, of course, yes","commit_id":"01576c6e689ad820145a37baf4893ed8eb2db23f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"e37ef04b02212cdb673e693e2ae5a79d1c090211","unresolved":false,"context_lines":[{"line_number":26,"context_line":"      git fetch \u0027${remote}\u0027 \u0027${ref}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"      if git merge-base --is-ancestor FILTERED_HEAD FETCH_HEAD; then"},{"line_number":29,"context_line":"        echo \u0027Commit already present, nothing to push.\u0027"},{"line_number":30,"context_line":"        exit 0"},{"line_number":31,"context_line":"      fi"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-nix","patch_set":5,"id":"79b4f6f7_bb72878b","line":29,"in_reply_to":"e07f7964_e2696767","updated":"2022-05-25 23:53:04.000000000","message":"Nope, because in case of a race (older commit running after newer) this will fail the push because it tries to update the reference (which would require force, and not be what we want).","commit_id":"01576c6e689ad820145a37baf4893ed8eb2db23f"}]}
