)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2124ab19ce00184073d89b007fde29886cd7b1fd","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    # Minimum value: 1"},{"line_number":35,"context_line":"    # Maximum value: 65535"},{"line_number":36,"context_line":"    #port \u003d 9511"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Change-Id: I0a58c613a958ac00dc2cecacc4898df5390cd301"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a1a9d01_ca04934b","line":37,"updated":"2015-09-28 21:42:55.000000000","message":"This adds a new feature so there should be a bug.","commit_id":"c1917cb25560e52bba4a01d4281adedbdd7dddbc"},{"author":{"_account_id":11650,"name":"Tom Cammann","email":"tom.cammann@hpe.com","username":"cammann"},"change_message_id":"8370eed50fff78a9f588cc36f06b94bea33e3563","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    # Minimum value: 1"},{"line_number":35,"context_line":"    # Maximum value: 65535"},{"line_number":36,"context_line":"    #port \u003d 9511"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Change-Id: I0a58c613a958ac00dc2cecacc4898df5390cd301"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a1a9d01_70626d18","line":37,"in_reply_to":"9a1a9d01_ca04934b","updated":"2015-10-02 09:29:01.000000000","message":"Done","commit_id":"c1917cb25560e52bba4a01d4281adedbdd7dddbc"}],"oslo_config/cfg.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"86cfad024e3558b0f64477745f1733637ca7e1a7","unresolved":false,"context_lines":[{"line_number":1003,"context_line":"    def __init__(self, name, **kwargs):"},{"line_number":1004,"context_line":"        if \u0027positional\u0027 in kwargs:"},{"line_number":1005,"context_line":"            raise ValueError(\u0027positional boolean args not supported\u0027)"},{"line_number":1006,"context_line":"        type \u003d kwargs.pop(\u0027type\u0027, types.Boolean())"},{"line_number":1007,"context_line":"        super(BoolOpt, self).__init__(name, type\u003dtype, **kwargs)"},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"    def _add_to_cli(self, parser, group\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_33ebffe0","line":1006,"updated":"2015-10-22 09:01:32.000000000","message":"This change looks a second new feature, no? What is the purpose of this change? If you create a type, why not passing to Opt directly?\n\nI suggest to revert this change if it\u0027s not needed.","commit_id":"dedda0fa6808af8f917b8aec947a49fb5b0b229e"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"bb1c71253a3c7a847b52c0b97bba94426aa91d14","unresolved":false,"context_lines":[{"line_number":1003,"context_line":"    def __init__(self, name, **kwargs):"},{"line_number":1004,"context_line":"        if \u0027positional\u0027 in kwargs:"},{"line_number":1005,"context_line":"            raise ValueError(\u0027positional boolean args not supported\u0027)"},{"line_number":1006,"context_line":"        type \u003d kwargs.pop(\u0027type\u0027, types.Boolean())"},{"line_number":1007,"context_line":"        super(BoolOpt, self).__init__(name, type\u003dtype, **kwargs)"},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"    def _add_to_cli(self, parser, group\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_5d76c4d7","line":1006,"in_reply_to":"3a29b11f_27a89976","updated":"2015-10-22 11:38:45.000000000","message":"Sorry, I don\u0027t know the history of oslo.config, but to me it\u0027s strange to add new features to deprecated types \"Kept for backward-communicability with options not using Opt directly\". We should stop adding new features and new Opt subclasses, or make it clear that it\u0027s still ok to use them and remove the \"Kept for backward-communicability\" comment.\n\nWhat do you think? Maybe it should be discussed on the openstack-dev mailing list.","commit_id":"dedda0fa6808af8f917b8aec947a49fb5b0b229e"},{"author":{"_account_id":11650,"name":"Tom Cammann","email":"tom.cammann@hpe.com","username":"cammann"},"change_message_id":"63dbbd66c6e9502bc4343a308f2156a83e7b553c","unresolved":false,"context_lines":[{"line_number":1003,"context_line":"    def __init__(self, name, **kwargs):"},{"line_number":1004,"context_line":"        if \u0027positional\u0027 in kwargs:"},{"line_number":1005,"context_line":"            raise ValueError(\u0027positional boolean args not supported\u0027)"},{"line_number":1006,"context_line":"        type \u003d kwargs.pop(\u0027type\u0027, types.Boolean())"},{"line_number":1007,"context_line":"        super(BoolOpt, self).__init__(name, type\u003dtype, **kwargs)"},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"    def _add_to_cli(self, parser, group\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_27a89976","line":1006,"in_reply_to":"3a29b11f_33ebffe0","updated":"2015-10-22 10:48:18.000000000","message":"This was necessary to allow PortOpt to inherit from IntOpt. To allow overwriting of type_name in an Opt you need to be able to pass in the type. IntOpt specifies the type in super.__init__, however in kwargs the type value is also coming from PortOpt. This change makes sure that only one of those values can be present in the super.__init__ call.\n\nThe alternative was to make PortOpt inherit from Opt instead, however this is hiding the problem rather than fixing it.","commit_id":"dedda0fa6808af8f917b8aec947a49fb5b0b229e"}],"oslo_config/generator.py":[{"author":{"_account_id":9459,"name":".Haifeng Yan","email":"yanheven@qq.com","username":"yan"},"change_message_id":"f0065c2293887a81c6848ac5910acbca4053c710","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        option_type \u003d getattr(opt, \u0027type\u0027, None)"},{"line_number":151,"context_line":"        if option_type is None:"},{"line_number":152,"context_line":"            opt_type \u003d \u0027unknown value\u0027"},{"line_number":153,"context_line":"        opt_type \u003d getattr(option_type, \u0027type_name\u0027, \u0027unknown value\u0027)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        if opt.help:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_e64d3e73","line":152,"updated":"2015-09-28 02:53:31.000000000","message":"Do we need these two lines?","commit_id":"c1917cb25560e52bba4a01d4281adedbdd7dddbc"},{"author":{"_account_id":11650,"name":"Tom Cammann","email":"tom.cammann@hpe.com","username":"cammann"},"change_message_id":"8370eed50fff78a9f588cc36f06b94bea33e3563","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        option_type \u003d getattr(opt, \u0027type\u0027, None)"},{"line_number":151,"context_line":"        if option_type is None:"},{"line_number":152,"context_line":"            opt_type \u003d \u0027unknown value\u0027"},{"line_number":153,"context_line":"        opt_type \u003d getattr(option_type, \u0027type_name\u0027, \u0027unknown value\u0027)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        if opt.help:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_306cf507","line":152,"in_reply_to":"9a1a9d01_e64d3e73","updated":"2015-10-02 09:29:01.000000000","message":"Fixed","commit_id":"c1917cb25560e52bba4a01d4281adedbdd7dddbc"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2124ab19ce00184073d89b007fde29886cd7b1fd","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        option_type \u003d getattr(opt, \u0027type\u0027, None)"},{"line_number":151,"context_line":"        if option_type is None:"},{"line_number":152,"context_line":"            opt_type \u003d \u0027unknown value\u0027"},{"line_number":153,"context_line":"        opt_type \u003d getattr(option_type, \u0027type_name\u0027, \u0027unknown value\u0027)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        if opt.help:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_0ab4cb7f","line":152,"in_reply_to":"9a1a9d01_e64d3e73","updated":"2015-09-28 21:42:55.000000000","message":"this code is confusing since it sets opt_type and then overwrites it on the next line.","commit_id":"c1917cb25560e52bba4a01d4281adedbdd7dddbc"}],"oslo_config/types.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2124ab19ce00184073d89b007fde29886cd7b1fd","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    :param regex: Optional regular expression (string or compiled"},{"line_number":52,"context_line":"                  regex) that the value must match on an unanchored"},{"line_number":53,"context_line":"                  search. Mutually exclusive with \u0027choices\u0027."},{"line_number":54,"context_line":"    :param type_name: Optional type name to be used in the output file."},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    BASE_TYPES \u003d six.string_types"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_ea5dd747","line":54,"updated":"2015-09-28 21:42:55.000000000","message":"suggest change \"output file\" to \"sample config file\". This applies to all the help where \"output file\" is used.\n\nAlso, there\u0027s no need to say it\u0027s optional since the docstring shows the defaults.","commit_id":"c1917cb25560e52bba4a01d4281adedbdd7dddbc"},{"author":{"_account_id":11650,"name":"Tom Cammann","email":"tom.cammann@hpe.com","username":"cammann"},"change_message_id":"8370eed50fff78a9f588cc36f06b94bea33e3563","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    :param regex: Optional regular expression (string or compiled"},{"line_number":52,"context_line":"                  regex) that the value must match on an unanchored"},{"line_number":53,"context_line":"                  search. Mutually exclusive with \u0027choices\u0027."},{"line_number":54,"context_line":"    :param type_name: Optional type name to be used in the output file."},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    BASE_TYPES \u003d six.string_types"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_10ad3131","line":54,"in_reply_to":"9a1a9d01_ea5dd747","updated":"2015-10-02 09:29:01.000000000","message":"Done along with other occurrences.","commit_id":"c1917cb25560e52bba4a01d4281adedbdd7dddbc"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"62caa8c0ac59553ada7c831ce04374a6a0013268","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    :param ignore_case:  If True case differences (uppercase vs. lowercase)"},{"line_number":55,"context_line":"                         between \u0027choices\u0027 or \u0027regex\u0027 will be ignored;"},{"line_number":56,"context_line":"                         defaults to False."},{"line_number":57,"context_line":"    :param type_name: Type name to be used in the sample config file."},{"line_number":58,"context_line":"    \"\"\""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    BASE_TYPES \u003d six.string_types"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_6f9a4465","line":57,"updated":"2015-10-15 10:32:16.000000000","message":"Please add:\n\n.. versionchanged:: 2.6\n   Added *type_name* parameter.","commit_id":"52888bc67016c3ecdc9aad963be389f83608db64"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"62caa8c0ac59553ada7c831ce04374a6a0013268","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    Values are case insensitive and can be set using"},{"line_number":145,"context_line":"    1/0, yes/no, true/false or on/off."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    :param type_name: Type name to be used in the sample config file."},{"line_number":148,"context_line":"    \"\"\""},{"line_number":149,"context_line":"    TRUE_VALUES \u003d [\u0027true\u0027, \u00271\u0027, \u0027on\u0027, \u0027yes\u0027]"},{"line_number":150,"context_line":"    FALSE_VALUES \u003d [\u0027false\u0027, \u00270\u0027, \u0027off\u0027, \u0027no\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_afde1c0f","line":147,"updated":"2015-10-15 10:32:16.000000000","message":"Ditto, please added the versionchanged to the docstring. Same remark for other changes below.","commit_id":"52888bc67016c3ecdc9aad963be389f83608db64"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"7a0c39a53cd8769218f74cf8b3fd731b9c0cabca","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                         defaults to False."},{"line_number":57,"context_line":"    :param type_name: Type name to be used in the sample config file."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    .. versionchanged:: 2.6"},{"line_number":60,"context_line":"       Added *type_name* parameter."},{"line_number":61,"context_line":"    \"\"\""},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_95e9fa82","line":59,"updated":"2015-10-20 13:35:45.000000000","message":"Too bad, Oslo Config 2.6 was released, you should now update this one to 2.7.","commit_id":"83dc0047e510d1d948fc61b3d60e56145a01b6d9"}]}
