)]}'
{"pbr/packaging.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"c9994f48a154e82aabf1f5f321947c401f71763d","unresolved":false,"context_lines":[{"line_number":535,"context_line":"    pkg_metadata \u003d {}"},{"line_number":536,"context_line":"    for filename in pkg_metadata_filenames:"},{"line_number":537,"context_line":"        try:"},{"line_number":538,"context_line":"            pkg_metadata_file \u003d io.open(filename, \u0027r\u0027, encoding\u003d\u0027utf-8\u0027)"},{"line_number":539,"context_line":"        except (IOError, OSError):"},{"line_number":540,"context_line":"            continue"},{"line_number":541,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_534d5298","line":538,"updated":"2015-07-15 20:44:02.000000000","message":"I\u0027m surprised that we\u0027re encountering non-ascii anywhere. I\u0027m worried about the presumption of UTF8 here. We need to cross-check the packaging PEPs before landing this.","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"9afcacd66cc4c4fb67fd4beb91b10ce3be99581b","unresolved":false,"context_lines":[{"line_number":535,"context_line":"    pkg_metadata \u003d {}"},{"line_number":536,"context_line":"    for filename in pkg_metadata_filenames:"},{"line_number":537,"context_line":"        try:"},{"line_number":538,"context_line":"            pkg_metadata_file \u003d io.open(filename, \u0027r\u0027, encoding\u003d\u0027utf-8\u0027)"},{"line_number":539,"context_line":"        except (IOError, OSError):"},{"line_number":540,"context_line":"            continue"},{"line_number":541,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_222ac790","line":538,"in_reply_to":"9a41bdd9_534d5298","updated":"2015-10-22 11:15:41.000000000","message":"I checked distutils and pip. PKG-INFO is encoded to UTF-8 by distutils. pip decodes METADATA using UTF-8.\n\nUsing the locale encoding is really a bad idea, and a common cause of rage from users :-) (including myself)","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"c9994f48a154e82aabf1f5f321947c401f71763d","unresolved":false,"context_lines":[{"line_number":540,"context_line":"            continue"},{"line_number":541,"context_line":"        try:"},{"line_number":542,"context_line":"            pkg_metadata \u003d email.message_from_file(pkg_metadata_file)"},{"line_number":543,"context_line":"        except email.errors.MessageError:"},{"line_number":544,"context_line":"            continue"},{"line_number":545,"context_line":""},{"line_number":546,"context_line":"    # Check to make sure we\u0027re in our own dir"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_73509632","line":543,"updated":"2015-07-15 20:44:02.000000000","message":"So, this should be a different change please, or at least add a test for this path.","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"40025df2d16cd6a0c62f68631c1cb25c58b4263b","unresolved":false,"context_lines":[{"line_number":540,"context_line":"            continue"},{"line_number":541,"context_line":"        try:"},{"line_number":542,"context_line":"            pkg_metadata \u003d email.message_from_file(pkg_metadata_file)"},{"line_number":543,"context_line":"        except email.errors.MessageError:"},{"line_number":544,"context_line":"            continue"},{"line_number":545,"context_line":""},{"line_number":546,"context_line":"    # Check to make sure we\u0027re in our own dir"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_33bd09b1","line":543,"updated":"2015-07-09 20:58:37.000000000","message":"This looks like an unrelated change. Is it necessary as part of this patch?","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"5a3536dece8c6dcfd40c4eae4563d88cf3a82770","unresolved":false,"context_lines":[{"line_number":540,"context_line":"            continue"},{"line_number":541,"context_line":"        try:"},{"line_number":542,"context_line":"            pkg_metadata \u003d email.message_from_file(pkg_metadata_file)"},{"line_number":543,"context_line":"        except email.errors.MessageError:"},{"line_number":544,"context_line":"            continue"},{"line_number":545,"context_line":""},{"line_number":546,"context_line":"    # Check to make sure we\u0027re in our own dir"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_c6f5f6ed","line":543,"in_reply_to":"ba3cc151_33bd09b1","updated":"2015-07-10 00:12:35.000000000","message":"It\u0027s not necessary but partially related, I found this error during running the newly added test case against the old unchanged code.","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"}],"pbr/tests/test_packaging.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"c9994f48a154e82aabf1f5f321947c401f71763d","unresolved":false,"context_lines":[{"line_number":482,"context_line":"        self.assertEqual(expected_requirements, generated_requirements)"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"class TestMetadataVersionParsing(base.BaseTestCase):"},{"line_number":486,"context_line":"    def test_version_utf8(self):"},{"line_number":487,"context_line":"        with io.open(\u0027PKG-INFO\u0027, \u0027wt\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":488,"context_line":"            f.write(six.u(\"Name: abc\\n\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_13434a6d","line":485,"updated":"2015-07-15 20:44:02.000000000","message":"Nit - blank line here please.","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"9afcacd66cc4c4fb67fd4beb91b10ce3be99581b","unresolved":false,"context_lines":[{"line_number":484,"context_line":""},{"line_number":485,"context_line":"class TestMetadataVersionParsing(base.BaseTestCase):"},{"line_number":486,"context_line":"    def test_version_utf8(self):"},{"line_number":487,"context_line":"        with io.open(\u0027PKG-INFO\u0027, \u0027wt\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":488,"context_line":"            f.write(six.u(\"Name: abc\\n\"))"},{"line_number":489,"context_line":"            f.write(six.u(\"Version: 3.2\\n\"))"},{"line_number":490,"context_line":"            f.write(six.u(\"Author: Falno\") + six.unichr(209))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_3d6c28cd","line":487,"updated":"2015-10-22 11:15:41.000000000","message":"You can just write \"w\" instead of \"wt\", the text mode is the default mode.","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"9afcacd66cc4c4fb67fd4beb91b10ce3be99581b","unresolved":false,"context_lines":[{"line_number":485,"context_line":"class TestMetadataVersionParsing(base.BaseTestCase):"},{"line_number":486,"context_line":"    def test_version_utf8(self):"},{"line_number":487,"context_line":"        with io.open(\u0027PKG-INFO\u0027, \u0027wt\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":488,"context_line":"            f.write(six.u(\"Name: abc\\n\"))"},{"line_number":489,"context_line":"            f.write(six.u(\"Version: 3.2\\n\"))"},{"line_number":490,"context_line":"            f.write(six.u(\"Author: Falno\") + six.unichr(209))"},{"line_number":491,"context_line":"        version \u003d packaging._get_version_from_pkg_metadata(\u0027abc\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_5d39e4d5","line":488,"updated":"2015-10-22 11:15:41.000000000","message":"Please use directly u\u0027...\u0027 syntax, pbr doesn\u0027t support Python 3.2 (at least, it\u0027s not mentionned in setup.cfg).","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"9afcacd66cc4c4fb67fd4beb91b10ce3be99581b","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        with io.open(\u0027PKG-INFO\u0027, \u0027wt\u0027, encoding\u003d\u0027utf-8\u0027) as f:"},{"line_number":488,"context_line":"            f.write(six.u(\"Name: abc\\n\"))"},{"line_number":489,"context_line":"            f.write(six.u(\"Version: 3.2\\n\"))"},{"line_number":490,"context_line":"            f.write(six.u(\"Author: Falno\") + six.unichr(209))"},{"line_number":491,"context_line":"        version \u003d packaging._get_version_from_pkg_metadata(\u0027abc\u0027)"},{"line_number":492,"context_line":"        self.assertEqual(\u00273.2\u0027, version)"},{"line_number":493,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_3d450845","line":490,"updated":"2015-10-22 11:15:41.000000000","message":"Write directly u\u0027... \\xd1\u0027 instead of unichr().","commit_id":"c8f00e3e1328642f26523005576d68eebe06fc70"}]}
