)]}'
{"roles/copy-release-tools-scripts/files/release-tools/launchpad_add_comment_set_status.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"fe40950dddcdb55e787a11f341e459ed658f52be","unresolved":true,"context_lines":[{"line_number":31,"context_line":"                        default\u003d\u0027Comment added by add_comment\u0027)"},{"line_number":32,"context_line":"    parser.add_argument(\u0027--content\u0027, help\u003d\u0027The comment content\u0027,"},{"line_number":33,"context_line":"                        default\u003d\u0027Comment added by add_comment\u0027)"},{"line_number":34,"context_line":"    parser.add_argument(\u0027--series\u0027, help\u003d\u0027The series being released\u0027)"},{"line_number":35,"context_line":"    lp_grp \u003d parser.add_argument_group(\u0027launchpad\u0027)"},{"line_number":36,"context_line":"    lp_grp.add_argument("},{"line_number":37,"context_line":"        \"--test\","}],"source_content_type":"text/x-python","patch_set":2,"id":"12892ada_a6d6c1ad","line":34,"updated":"2021-07-21 19:39:51.000000000","message":"This argument is optional by default. Could you specify required\u003dTrue or pass \"default\" parameter (as --subject and --content do)?","commit_id":"13787b90893bb636f3960f6c88fb6311bbb88684"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e8d6b1740dfbf3d5bdddafee5679b029dea73f61","unresolved":true,"context_lines":[{"line_number":31,"context_line":"                        default\u003d\u0027Comment added by add_comment\u0027)"},{"line_number":32,"context_line":"    parser.add_argument(\u0027--content\u0027, help\u003d\u0027The comment content\u0027,"},{"line_number":33,"context_line":"                        default\u003d\u0027Comment added by add_comment\u0027)"},{"line_number":34,"context_line":"    parser.add_argument(\u0027--series\u0027, help\u003d\u0027The series being released\u0027)"},{"line_number":35,"context_line":"    lp_grp \u003d parser.add_argument_group(\u0027launchpad\u0027)"},{"line_number":36,"context_line":"    lp_grp.add_argument("},{"line_number":37,"context_line":"        \"--test\","}],"source_content_type":"text/x-python","patch_set":2,"id":"c2940abc_1e4d943d","line":34,"in_reply_to":"12892ada_a6d6c1ad","updated":"2021-07-21 20:55:07.000000000","message":"Good point. Originally, this script is generic for adding a launchpad comment for any reason. I\u0027m thinking maybe it would be best to leave this optional and only set the status if it has been specified -- doing this would allow it to still be used as a generic script for adding a launchpad comment. I will try this and see what you think on the next PS.","commit_id":"13787b90893bb636f3960f6c88fb6311bbb88684"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"149be5bf664db2a33ff2d6c7cb70282f7ddcb687","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    parser.add_argument(\u0027--content\u0027, help\u003d\u0027The comment content\u0027,"},{"line_number":33,"context_line":"                        default\u003d\u0027Comment added by add_comment\u0027)"},{"line_number":34,"context_line":"    parser.add_argument(\u0027--series\u0027, help\u003d\u0027The series being released. Will set \u0027"},{"line_number":35,"context_line":"                        \u0027the bug status to Fix Releaesd when specified\u0027)"},{"line_number":36,"context_line":"    lp_grp \u003d parser.add_argument_group(\u0027launchpad\u0027)"},{"line_number":37,"context_line":"    lp_grp.add_argument("},{"line_number":38,"context_line":"        \"--test\","}],"source_content_type":"text/x-python","patch_set":3,"id":"eadd0bdd_c644a61e","line":35,"range":{"start_line":35,"start_character":47,"end_line":35,"end_character":55},"updated":"2021-07-21 21:01:09.000000000","message":"Argh, typo.","commit_id":"b9a38287b9f398163f667fb6349d1ec50978f559"},{"author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"change_message_id":"f0bccd89ce836324e1547325240ef373dc899b61","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            bug \u003d launchpad.bugs[bugid]"},{"line_number":88,"context_line":"            for task in bug.bug_tasks:"},{"line_number":89,"context_line":"                if args.series in task.bug_target_name:"},{"line_number":90,"context_line":"                    task.status \u003d \"Fix Released\""},{"line_number":91,"context_line":"                    task.lp_save()"},{"line_number":92,"context_line":"                    print(\" done.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"b69514c4_c0a8160a","line":89,"range":{"start_line":89,"start_character":19,"end_line":89,"end_character":54},"updated":"2021-07-22 10:24:29.000000000","message":"Maybe even the \u0027series\u0027 can be added if there is no such target, though I haven\u0027t used launchpad module that much and don\u0027t know whether it would work. But as a first step let\u0027s just stick to this solution. :)","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"0d3d8d6b7cf9776b82c01c3583006e9e7c6d9e5d","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            bug \u003d launchpad.bugs[bugid]"},{"line_number":88,"context_line":"            for task in bug.bug_tasks:"},{"line_number":89,"context_line":"                if args.series in task.bug_target_name:"},{"line_number":90,"context_line":"                    task.status \u003d \"Fix Released\""},{"line_number":91,"context_line":"                    task.lp_save()"},{"line_number":92,"context_line":"                    print(\" done.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"c20c0323_701c5fee","line":89,"range":{"start_line":89,"start_character":19,"end_line":89,"end_character":54},"in_reply_to":"b69514c4_c0a8160a","updated":"2021-07-22 16:53:47.000000000","message":"This is a nice idea. I will look into how to add that at patch proposal time (I think it would be better than waiting till release time). A common workflow for me is I go and add series on the bug by hand when someone proposes a backport.","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"30fd4f2350bbc6b977a2bde39bf8eceeeb9c3a57","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            bug \u003d launchpad.bugs[bugid]"},{"line_number":88,"context_line":"            for task in bug.bug_tasks:"},{"line_number":89,"context_line":"                if args.series in task.bug_target_name:"},{"line_number":90,"context_line":"                    task.status \u003d \"Fix Released\""},{"line_number":91,"context_line":"                    task.lp_save()"},{"line_number":92,"context_line":"                    print(\" done.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0b4a54_89735971","line":89,"range":{"start_line":89,"start_character":19,"end_line":89,"end_character":54},"in_reply_to":"b736ec0f_75fd2add","updated":"2021-07-25 22:57:22.000000000","message":"\u003e I note that in [1] it should really be using endswith(\u0027/\u0027 + series) to further ensure it doesn\u0027t choose coincidental substrings. Although, maybe we can\u0027t assume series will have \u0027/\u0027 in it necessarily. That\u0027s probably why it doesn\u0027t use \u0027/\u0027.\n\nMost of our launchpad projects use series names without \u0027/\u0027 like \u0027xena\u0027, \u0027wallaby\u0027 and so on. At least nova, neutron and cinder launchpad projects do so.\n\nAFAIK Launchpad serieses can be created only by launchpad project maintainers. I think we need to create serieses in advance.","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"7d7a7617e74636a77aa37091c8df545cd21c7bd8","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            bug \u003d launchpad.bugs[bugid]"},{"line_number":88,"context_line":"            for task in bug.bug_tasks:"},{"line_number":89,"context_line":"                if args.series in task.bug_target_name:"},{"line_number":90,"context_line":"                    task.status \u003d \"Fix Released\""},{"line_number":91,"context_line":"                    task.lp_save()"},{"line_number":92,"context_line":"                    print(\" done.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"b736ec0f_75fd2add","line":89,"range":{"start_line":89,"start_character":19,"end_line":89,"end_character":54},"in_reply_to":"c20c0323_701c5fee","updated":"2021-07-22 22:17:10.000000000","message":"Hm, I notice that existing code like this uses endswith() instead [1]. I think that makes sense, so it has less of a chance of choosing coincidental bug_target_name that have a substring (series) in the middle. Example: stable/some vs stable/something for series\u003dsome.\n\nI note that in [1] it should really be using endswith(\u0027/\u0027 + series) to further ensure it doesn\u0027t choose coincidental substrings. Although, maybe we can\u0027t assume series will have \u0027/\u0027 in it necessarily. That\u0027s probably why it doesn\u0027t use \u0027/\u0027.\n\n[1] https://opendev.org/opendev/jeepyb/src/commit/faca72ce59bfce0758f5f3f7eed3e71f98a35a18/jeepyb/cmd/update_bug.py#L195","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"93312ebddc185744ba752804e43ced6bc916496d","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            bug \u003d launchpad.bugs[bugid]"},{"line_number":88,"context_line":"            for task in bug.bug_tasks:"},{"line_number":89,"context_line":"                if args.series in task.bug_target_name:"},{"line_number":90,"context_line":"                    task.status \u003d \"Fix Released\""},{"line_number":91,"context_line":"                    task.lp_save()"},{"line_number":92,"context_line":"                    print(\" done.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"b8acfc6f_48086ee6","line":89,"range":{"start_line":89,"start_character":19,"end_line":89,"end_character":54},"in_reply_to":"c810c813_77572aba","updated":"2021-09-02 22:25:29.000000000","message":"\u003e @melwitt - we could make sure that it matches a regexp with \u0027\\bSERIES$\u0027 (just replace SERIES with the real series). This way it works with both slashed (never seen but could happen) and unslashed variant.\n\nNice idea, I shall use it. :)","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9c05eede22276319f4fa71f592e2ab0693859c7a","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            bug \u003d launchpad.bugs[bugid]"},{"line_number":88,"context_line":"            for task in bug.bug_tasks:"},{"line_number":89,"context_line":"                if args.series in task.bug_target_name:"},{"line_number":90,"context_line":"                    task.status \u003d \"Fix Released\""},{"line_number":91,"context_line":"                    task.lp_save()"},{"line_number":92,"context_line":"                    print(\" done.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"c810c813_77572aba","line":89,"range":{"start_line":89,"start_character":19,"end_line":89,"end_character":54},"in_reply_to":"ff0b4a54_89735971","updated":"2021-09-02 16:55:22.000000000","message":"@melwitt - we could make sure that it matches a regexp with \u0027\\bSERIES$\u0027 (just replace SERIES with the real series). This way it works with both slashed (never seen but could happen) and unslashed variant.\n\n@Akihiro - That true, but I think here melwitt and Elod meant that you might have a bug that is not tracked in a specific (existing) series but you have actually merged a fix to it. I agree with melwitt that it should rather be handled at patch proposal time if at all. ;-)","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"}],"roles/copy-release-tools-scripts/files/release-tools/release.sh":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"fe40950dddcdb55e787a11f341e459ed658f52be","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message."},{"line_number":98,"context_line":"    $NAME\u003d$(echo $SERIES | awk \u0027{print toupper(substr($0,0,1))substr($0,2)}\u0027)"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":2,"id":"e5ec31db_d47dc3b4","line":98,"range":{"start_line":98,"start_character":57,"end_line":98,"end_character":58},"updated":"2021-07-21 19:39:51.000000000","message":"The first character is specifieid by pos 1 and the second character is specified by pos 2. 0 also works, but it is easier to understand if we use \"1\u0027 instead as subst($0,2) means to extract substring starting with 2nd character.","commit_id":"13787b90893bb636f3960f6c88fb6311bbb88684"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e8d6b1740dfbf3d5bdddafee5679b029dea73f61","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message."},{"line_number":98,"context_line":"    $NAME\u003d$(echo $SERIES | awk \u0027{print toupper(substr($0,0,1))substr($0,2)}\u0027)"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":2,"id":"32501eba_e2fedf8a","line":98,"range":{"start_line":98,"start_character":57,"end_line":98,"end_character":58},"in_reply_to":"e5ec31db_d47dc3b4","updated":"2021-07-21 20:55:07.000000000","message":"Understood, will change it.","commit_id":"13787b90893bb636f3960f6c88fb6311bbb88684"},{"author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"change_message_id":"f0bccd89ce836324e1547325240ef373dc899b61","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message."},{"line_number":98,"context_line":"    $NAME\u003d$(echo $SERIES | awk \u0027{print toupper(substr($0,1,1))substr($0,2)}\u0027)"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"f9a85c68_2371ed60","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":76},"updated":"2021-07-22 10:24:29.000000000","message":"nit: this is the same as\necho ${SERIES^}\n\n(from Bash 4.0)","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"3c448dbd8c533d88308e60bd3492d5164d3358a9","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message."},{"line_number":98,"context_line":"    $NAME\u003d$(echo $SERIES | awk \u0027{print toupper(substr($0,1,1))substr($0,2)}\u0027)"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"8bf5c802_115096bf","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":76},"in_reply_to":"96151794_dcebfd19","updated":"2021-09-03 11:58:15.000000000","message":"My Windowz has\n\n  GNU bash, version 5.1.4(1)-release\n\nbut only because it has Debian Bullseye in WSL2. 😜","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"9c05eede22276319f4fa71f592e2ab0693859c7a","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message."},{"line_number":98,"context_line":"    $NAME\u003d$(echo $SERIES | awk \u0027{print toupper(substr($0,1,1))substr($0,2)}\u0027)"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"adf4c098_c4ba65e4","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":76},"in_reply_to":"a5753a8f_3dba18c0","updated":"2021-09-02 16:55:22.000000000","message":"++ to use Bash 4.0 if Elod approves.","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"93312ebddc185744ba752804e43ced6bc916496d","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message."},{"line_number":98,"context_line":"    $NAME\u003d$(echo $SERIES | awk \u0027{print toupper(substr($0,1,1))substr($0,2)}\u0027)"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"cc942159_08d6f622","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":76},"in_reply_to":"adf4c098_c4ba65e4","updated":"2021-09-02 22:25:29.000000000","message":"K, will change it.","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"25885cbc71553c50a28ac91b01ab8065d6cf20b1","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message."},{"line_number":98,"context_line":"    $NAME\u003d$(echo $SERIES | awk \u0027{print toupper(substr($0,1,1))substr($0,2)}\u0027)"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"96151794_dcebfd19","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":76},"in_reply_to":"cc942159_08d6f622","updated":"2021-09-02 22:43:58.000000000","message":"Aside, lol my macbook has:\n $ bash --version\n GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"0d3d8d6b7cf9776b82c01c3583006e9e7c6d9e5d","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message."},{"line_number":98,"context_line":"    $NAME\u003d$(echo $SERIES | awk \u0027{print toupper(substr($0,1,1))substr($0,2)}\u0027)"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"a5753a8f_3dba18c0","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":76},"in_reply_to":"f9a85c68_2371ed60","updated":"2021-07-22 16:53:47.000000000","message":"I did see simpler things with Bash 4.0 when I was googling but I wasn\u0027t sure if we can assume Bash 4.0. If so, your way is much much better.","commit_id":"aca81aa6fac5039a640a1ee6d1d6f27ad378a876"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"ccd58541dd8c82aa9875a04718fbf666961f40de","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    echo \"No bugs found $PREVIOUS .. $VERSION\""},{"line_number":96,"context_line":"else"},{"line_number":97,"context_line":"    # Capitalize the series name for the comment message. Requires \u003e\u003d bash 4.0."},{"line_number":98,"context_line":"    $NAME\u003d$(echo ${SERIES^})"},{"line_number":99,"context_line":"    python3 -u $TOOLSDIR/launchpad_add_comment_set_status.py \\"},{"line_number":100,"context_line":"        --subject\u003d\"Fix included in $REPO $VERSION\" \\"},{"line_number":101,"context_line":"        --content\u003d\"This issue was fixed in the $REPO $VERSION $NAME $RELEASETYPE.\" \\"}],"source_content_type":"text/x-sh","patch_set":5,"id":"7d86923c_e32a0f1f","line":98,"updated":"2021-09-03 11:59:30.000000000","message":"I figured this might actually make little sense when we accept slashed variants but meh!","commit_id":"b6bcacee655b93f4777c7ac8270a889de7cb4aea"}]}
