)]}'
{"tempest/common/custom_matchers.py":[{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"3fce5844125b70ea04774b30b7e692036f2fd997","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"^tx[0-9a-f]*-[0-9a-f]*\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F84WI%3D","line":128,"updated":"2013-12-19 08:31:09.000000000","message":"Custom suffix can be included any character rather than [0-9a-f]. How about following regexp \"^tx[0-9a-f]{21}-[0-9a-f]{10}.*\" ?","commit_id":"c7275299939edc3d82651c4b226c3cc7ea6984a2"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"71c423c4ec8cecd155500d9e57f7c7961de46f50","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"^tx[0-9a-f]*-[0-9a-f]*\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F84S0%3D","line":128,"in_reply_to":"AAAATn%2F84WI%3D","updated":"2013-12-19 08:42:04.000000000","message":"Good idea, I updated the patch.","commit_id":"c7275299939edc3d82651c4b226c3cc7ea6984a2"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"f6896b08047662ec64b8c2d31294d47253ea1037","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"^tx[0-9a-f]{21}\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F83yQ%3D","line":128,"updated":"2013-12-19 10:45:47.000000000","message":"As long as we\u0027re improving this regex, you don\u0027t need the caret (^) at the beginning, since re.match will only look at the beginning of the string[1]. You can safely omit it.\n\n [1]: http://docs.python.org/2/library/re.html#re.match","commit_id":"8c49a1ebf2a9a5484cad7f289d474bca44346e32"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"b18f9e33c096fbe130f8238a119fad68a8c75ce8","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"tx[0-9a-f]{21}\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F80BQ%3D","line":128,"updated":"2013-12-20 02:25:20.000000000","message":"tx[0-9a-f]{21}-[0-9a-f]{10}.*\n\nYou must forget time part and customized suffix part","commit_id":"540431213ec6aa57dd20adada4d36bb651582e58"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"caff4775999832f54fbea59c837daca763303d00","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"tx[0-9a-f]{21}\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8zi8%3D","line":128,"in_reply_to":"AAAATn%2F80BQ%3D","updated":"2013-12-20 05:58:16.000000000","message":"Unfortunately this won\u0027t work with older Swift versions which used a slightly different transaction ID. That transaction ID startet with tx, followed by 21 hex values.\n\nThis regex matches older and new transaction IDs as well as transaction IDs with a customized suffix.","commit_id":"540431213ec6aa57dd20adada4d36bb651582e58"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"7ce57b6cc57f72571c12180102dcc18cec4d418f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"tx[0-9a-f]{21}\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8yug%3D","line":128,"in_reply_to":"AAAATn%2F8y2o%3D","updated":"2013-12-20 09:07:48.000000000","message":"This is ok for the syntax. But, I slightly worry that it seems difficult for other person to make sense of the number 21. So, I prefer tx.* , but I want to hear other reviewer\u0027s thoughts.","commit_id":"540431213ec6aa57dd20adada4d36bb651582e58"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"aaaf85bfb9e5308e5b4dd4d3ace29752e2030adb","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"tx[0-9a-f]{21}\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8ytw%3D","line":128,"in_reply_to":"AAAATn%2F8yug%3D","updated":"2013-12-20 09:09:44.000000000","message":"Good point! I will add a comment why this regex is used.","commit_id":"540431213ec6aa57dd20adada4d36bb651582e58"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"5af326610258a6ae1e01b58335bd54b9927c53c3","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"tx[0-9a-f]{21}\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8y2o%3D","line":128,"in_reply_to":"AAAATn%2F8zLE%3D","updated":"2013-12-20 08:42:22.000000000","message":"Yes, for older it\u0027s tx[0-9a-f]{32}, for \u003e\u003d1.9 its tx[0-9a-f]{21}-\nThus tx[0-9a-f]{21} will match both. What do you think?","commit_id":"540431213ec6aa57dd20adada4d36bb651582e58"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"0ddb35b1607c4dd008c29317fb3abb219df38a11","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif key \u003d\u003d \u0027content-type\u0027 and not value:"},{"line_number":126,"context_line":"                return InvalidFormat(key, value)"},{"line_number":127,"context_line":"            elif key \u003d\u003d \u0027x-trans-id\u0027 and \\"},{"line_number":128,"context_line":"                not re.match(\"tx[0-9a-f]{21}\", value):"},{"line_number":129,"context_line":"                return InvalidFormat(key, value)"},{"line_number":130,"context_line":"            elif key \u003d\u003d \u0027date\u0027 and not value:"},{"line_number":131,"context_line":"                return InvalidFormat(key, value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8zLE%3D","line":128,"in_reply_to":"AAAATn%2F8zi8%3D","updated":"2013-12-20 07:46:02.000000000","message":"The format of older version is tx[0-9a-f]{32} (swift\u003c1.9). So, how about \"tx.*\" ?","commit_id":"540431213ec6aa57dd20adada4d36bb651582e58"}]}
