)]}'
{"novaclient/tests/unit/v2/test_shell.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"d8b23f98db1729c968c9d8189802c8239dbca0ca","unresolved":false,"context_lines":[{"line_number":1617,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-aggregates/1\u0027, pos\u003d-1)"},{"line_number":1618,"context_line":""},{"line_number":1619,"context_line":"    def test_aggregate_update_by_name(self):"},{"line_number":1620,"context_line":"        self.run_command(\u0027aggregate-update test --name new_name \u0027)"},{"line_number":1621,"context_line":"        body \u003d {\"aggregate\": {\"name\": \"new_name\"}}"},{"line_number":1622,"context_line":"        self.assert_called(\u0027PUT\u0027, \u0027/os-aggregates/1\u0027, body, pos\u003d-2)"},{"line_number":1623,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/os-aggregates/1\u0027, pos\u003d-1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_cc03800e","line":1620,"range":{"start_line":1620,"start_character":63,"end_line":1620,"end_character":64},"updated":"2016-05-18 15:55:08.000000000","message":"attonit: why the trailing whitespace?  :)","commit_id":"8030879330da432d4791f64fad4df24c7fc16f71"}],"novaclient/v2/shell.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"0c5a69b104ed1f466769d846c3f4b45f519a09f7","unresolved":false,"context_lines":[{"line_number":3551,"context_line":"    metavar\u003d\u0027\u003caggregate\u003e\u0027,"},{"line_number":3552,"context_line":"    help\u003d_(\u0027Name or ID of aggregate to update.\u0027))"},{"line_number":3553,"context_line":"@utils.arg("},{"line_number":3554,"context_line":"    \u0027--name\u0027,"},{"line_number":3555,"context_line":"    metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":3556,"context_line":"    help\u003d_(\u0027Name of aggregate.\u0027))"},{"line_number":3557,"context_line":"@utils.arg("}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_d4fd40b2","line":3554,"updated":"2016-05-16 19:09:46.000000000","message":"This is going to break backwards compatibility.  You need to be able to support both the positional form and the new optional form for at least a period of time.","commit_id":"ccf2dd264682d7fb2a667556347085f1d86e657a"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"52307989dc0a07cd66c4fcde1571b317b5579fb4","unresolved":false,"context_lines":[{"line_number":3551,"context_line":"    metavar\u003d\u0027\u003caggregate\u003e\u0027,"},{"line_number":3552,"context_line":"    help\u003d_(\u0027Name or ID of aggregate to update.\u0027))"},{"line_number":3553,"context_line":"@utils.arg("},{"line_number":3554,"context_line":"    \u0027--name\u0027,"},{"line_number":3555,"context_line":"    metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":3556,"context_line":"    help\u003d_(\u0027Name of aggregate.\u0027))"},{"line_number":3557,"context_line":"@utils.arg("}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_41be8c65","line":3554,"in_reply_to":"dab17558_d4fd40b2","updated":"2016-05-17 11:27:01.000000000","message":"Ah, I find the right way to do it.","commit_id":"ccf2dd264682d7fb2a667556347085f1d86e657a"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"74d60766cc7fe8abe5046151f9a8513512588c8c","unresolved":false,"context_lines":[{"line_number":3551,"context_line":"    metavar\u003d\u0027\u003caggregate\u003e\u0027,"},{"line_number":3552,"context_line":"    help\u003d_(\u0027Name or ID of aggregate to update.\u0027))"},{"line_number":3553,"context_line":"@utils.arg("},{"line_number":3554,"context_line":"    \u0027--name\u0027,"},{"line_number":3555,"context_line":"    metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":3556,"context_line":"    help\u003d_(\u0027Name of aggregate.\u0027))"},{"line_number":3557,"context_line":"@utils.arg("}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_79b8bfc8","line":3554,"in_reply_to":"dab17558_d4fd40b2","updated":"2016-05-17 11:16:25.000000000","message":"Hmm, yes, thats a good point, but I have tried but no luck, could you give me an example about how to remain backwards compatibility of this kind of change?","commit_id":"ccf2dd264682d7fb2a667556347085f1d86e657a"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3ecfc6f4dbe3d82a7aea395e9d086cc5e68d26b7","unresolved":false,"context_lines":[{"line_number":3555,"context_line":"    nargs\u003d\u0027?\u0027,"},{"line_number":3556,"context_line":"    action\u003dshell.DeprecatedAction,"},{"line_number":3557,"context_line":"    use\u003d_(\u0027use \"%s\"; this option will be removed in \u0027"},{"line_number":3558,"context_line":"          \u0027novaclient 3.3.0.\u0027) % \u0027--name\u0027,"},{"line_number":3559,"context_line":"    help\u003dargparse.SUPPRESS)"},{"line_number":3560,"context_line":"@utils.arg("},{"line_number":3561,"context_line":"    \u0027--name\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_9e2725c9","line":3558,"range":{"start_line":3558,"start_character":22,"end_line":3558,"end_character":27},"updated":"2016-05-17 14:37:57.000000000","message":"Hard to remove an option in 3.3.0 when we\u0027ve already released 4.0.0 :)  Make this \"will be removed in novaclient 5.0.0\".","commit_id":"2443435047669c12e67716390be43f073f31b537"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"5fd1a77e444dc827d8b8104713b035f052ae8348","unresolved":false,"context_lines":[{"line_number":3555,"context_line":"    nargs\u003d\u0027?\u0027,"},{"line_number":3556,"context_line":"    action\u003dshell.DeprecatedAction,"},{"line_number":3557,"context_line":"    use\u003d_(\u0027use \"%s\"; this option will be removed in \u0027"},{"line_number":3558,"context_line":"          \u0027novaclient 3.3.0.\u0027) % \u0027--name\u0027,"},{"line_number":3559,"context_line":"    help\u003dargparse.SUPPRESS)"},{"line_number":3560,"context_line":"@utils.arg("},{"line_number":3561,"context_line":"    \u0027--name\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_0c362803","line":3558,"range":{"start_line":3558,"start_character":22,"end_line":3558,"end_character":27},"in_reply_to":"dab17558_3160d100","updated":"2016-05-18 15:50:52.000000000","message":"Yep, and that\u0027s been on my to-do list :)","commit_id":"2443435047669c12e67716390be43f073f31b537"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"bf69b59508861936cf3b8e6cf8c6197dbf5fe07f","unresolved":false,"context_lines":[{"line_number":3555,"context_line":"    nargs\u003d\u0027?\u0027,"},{"line_number":3556,"context_line":"    action\u003dshell.DeprecatedAction,"},{"line_number":3557,"context_line":"    use\u003d_(\u0027use \"%s\"; this option will be removed in \u0027"},{"line_number":3558,"context_line":"          \u0027novaclient 3.3.0.\u0027) % \u0027--name\u0027,"},{"line_number":3559,"context_line":"    help\u003dargparse.SUPPRESS)"},{"line_number":3560,"context_line":"@utils.arg("},{"line_number":3561,"context_line":"    \u0027--name\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_3160d100","line":3558,"range":{"start_line":3558,"start_character":22,"end_line":3558,"end_character":27},"in_reply_to":"dab17558_9e2725c9","updated":"2016-05-18 01:21:43.000000000","message":"Hmm, if that is the case, I guess it will be good to submit a patch to remove all those deprecated options marked with older version","commit_id":"2443435047669c12e67716390be43f073f31b537"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3ecfc6f4dbe3d82a7aea395e9d086cc5e68d26b7","unresolved":false,"context_lines":[{"line_number":3571,"context_line":"          \u0027novaclient 3.3.0.\u0027) % \u0027--availability_zone\u0027,"},{"line_number":3572,"context_line":"    help\u003dargparse.SUPPRESS)"},{"line_number":3573,"context_line":"@utils.arg("},{"line_number":3574,"context_line":"    \u0027--availability_zone\u0027,"},{"line_number":3575,"context_line":"    metavar\u003d\u0027\u003cavailability-zone\u003e\u0027,"},{"line_number":3576,"context_line":"    dest\u003d\u0027availability_zone\u0027,"},{"line_number":3577,"context_line":"    help\u003d_(\u0027The availability zone of the aggregate.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_69072918","line":3574,"range":{"start_line":3574,"start_character":19,"end_line":3574,"end_character":20},"updated":"2016-05-17 14:37:57.000000000","message":"Avoid the use of \u0027_\u0027 in option names; the vast majority of deprecated options are ones where we\u0027ve deprecated the \u0027_\u0027 variant in favor of the \u0027-\u0027 variant.","commit_id":"2443435047669c12e67716390be43f073f31b537"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"bf69b59508861936cf3b8e6cf8c6197dbf5fe07f","unresolved":false,"context_lines":[{"line_number":3571,"context_line":"          \u0027novaclient 3.3.0.\u0027) % \u0027--availability_zone\u0027,"},{"line_number":3572,"context_line":"    help\u003dargparse.SUPPRESS)"},{"line_number":3573,"context_line":"@utils.arg("},{"line_number":3574,"context_line":"    \u0027--availability_zone\u0027,"},{"line_number":3575,"context_line":"    metavar\u003d\u0027\u003cavailability-zone\u003e\u0027,"},{"line_number":3576,"context_line":"    dest\u003d\u0027availability_zone\u0027,"},{"line_number":3577,"context_line":"    help\u003d_(\u0027The availability zone of the aggregate.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_5118f475","line":3574,"range":{"start_line":3574,"start_character":19,"end_line":3574,"end_character":20},"in_reply_to":"dab17558_69072918","updated":"2016-05-18 01:21:43.000000000","message":"Done","commit_id":"2443435047669c12e67716390be43f073f31b537"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"d8b23f98db1729c968c9d8189802c8239dbca0ca","unresolved":false,"context_lines":[{"line_number":3573,"context_line":"@utils.arg("},{"line_number":3574,"context_line":"    \u0027--availability-zone\u0027,"},{"line_number":3575,"context_line":"    metavar\u003d\u0027\u003cavailability-zone\u003e\u0027,"},{"line_number":3576,"context_line":"    dest\u003d\u0027availability_zone\u0027,"},{"line_number":3577,"context_line":"    help\u003d_(\u0027The availability zone of the aggregate.\u0027))"},{"line_number":3578,"context_line":"def do_aggregate_update(cs, args):"},{"line_number":3579,"context_line":"    \"\"\"Update the aggregate\u0027s name and optionally availability zone.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_27a065f4","line":3576,"updated":"2016-05-18 15:55:08.000000000","message":"For the record, argparse is smart enough to translate \"--availability-zone\" into a dest of \"availability_zone\".  IOW, having the dest\u003d isn\u0027t necessary, but doesn\u0027t hurt anything; this doesn\u0027t even rise to the level of an attonit, but I thought I\u0027d further your education ;)","commit_id":"8030879330da432d4791f64fad4df24c7fc16f71"}]}
