)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"42781ee49746114825f7543ac85ae21b08125d4b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Monty Taylor \u003cmordred@inaugust.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-10-28 17:27:08 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make sure that we ioudly skip versioned 2.6 libs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We skip a few libs that are only needed on 2.6. There are two issues with this."},{"line_number":10,"context_line":"One is that we do it silently skip thm, so people think it\u0027s a bug. The second"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F%2Fzh4%3D","line":7,"updated":"2013-10-28 19:18:01.000000000","message":"Whats an ioudly?","commit_id":"60b18ce7b7410f6f8beb1e062f4b22c48baf6270"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"42781ee49746114825f7543ac85ae21b08125d4b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Make sure that we ioudly skip versioned 2.6 libs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We skip a few libs that are only needed on 2.6. There are two issues with this."},{"line_number":10,"context_line":"One is that we do it silently skip thm, so people think it\u0027s a bug. The second"},{"line_number":11,"context_line":"is that we are only skipping based on name matching, not on requirement"},{"line_number":12,"context_line":"lines."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F%2Fzh0%3D","line":10,"updated":"2013-10-28 19:18:01.000000000","message":"Brain hurting.","commit_id":"60b18ce7b7410f6f8beb1e062f4b22c48baf6270"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"42781ee49746114825f7543ac85ae21b08125d4b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We skip a few libs that are only needed on 2.6. There are two issues with this."},{"line_number":10,"context_line":"One is that we do it silently skip thm, so people think it\u0027s a bug. The second"},{"line_number":11,"context_line":"is that we are only skipping based on name matching, not on requirement"},{"line_number":12,"context_line":"lines."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If64e4b2ee6696a0531e3ed6099e63372d47bc851"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F%2Fzhw%3D","line":12,"updated":"2013-10-28 19:18:01.000000000","message":"This sounds like a second, separate change. Importantly it\u0027s not implied by your summary sentence.\n\nLooking at the code, what you actually do here is \u0027exclude based on parsed requirement lines\u0027 - you *don\u0027t* fix the \u0027silently skip\u0027 bug, because you only log in one branch of the if/elif tree.","commit_id":"60b18ce7b7410f6f8beb1e062f4b22c48baf6270"},{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"7086a0a4202ced5b2b11e71433efac3162a42d4e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Monty Taylor \u003cmordred@inaugust.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-10-30 21:05:21 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Base python 2.6 skip list on parsed names"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We keep a list of libraries that should only be installed on python 2.6,"},{"line_number":10,"context_line":"but the check to see if a requirement matches that list was only doing"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATn%2F%2Fn1Q%3D","line":7,"updated":"2013-10-31 09:52:05.000000000","message":"I think it should be called python 2.7 skip list, because all those packages are skipped in python2.7, not 2.6.","commit_id":"e8c6948f439fdf0dfd11d7be35c09d82c7a7e9c5"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"b1a18c0ef94f15a7c4df7a484fb671f3f58292ec","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Monty Taylor \u003cmordred@inaugust.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-10-30 21:05:21 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Base python 2.6 skip list on parsed names"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We keep a list of libraries that should only be installed on python 2.6,"},{"line_number":10,"context_line":"but the check to see if a requirement matches that list was only doing"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATn%2F%2FmDw%3D","line":7,"in_reply_to":"AAAATn%2F%2Fn1Q%3D","updated":"2013-10-31 17:40:04.000000000","message":"Done","commit_id":"e8c6948f439fdf0dfd11d7be35c09d82c7a7e9c5"}],"pbr/packaging.py":[{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"7086a0a4202ced5b2b11e71433efac3162a42d4e","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            pass"},{"line_number":175,"context_line":"        elif (project_name and"},{"line_number":176,"context_line":"                project_name in BROKEN_ON_27 and sys.version_info \u003e\u003d (2, 7)):"},{"line_number":177,"context_line":"            pass"},{"line_number":178,"context_line":"        else:"},{"line_number":179,"context_line":"            requirements.append(line)"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Fn1M%3D","line":177,"updated":"2013-10-31 09:52:05.000000000","message":"Will the notification about package skipping come in a next patch?","commit_id":"e8c6948f439fdf0dfd11d7be35c09d82c7a7e9c5"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"b1a18c0ef94f15a7c4df7a484fb671f3f58292ec","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            pass"},{"line_number":175,"context_line":"        elif (project_name and"},{"line_number":176,"context_line":"                project_name in BROKEN_ON_27 and sys.version_info \u003e\u003d (2, 7)):"},{"line_number":177,"context_line":"            pass"},{"line_number":178,"context_line":"        else:"},{"line_number":179,"context_line":"            requirements.append(line)"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FmD0%3D","line":177,"in_reply_to":"AAAATn%2F%2Fn1M%3D","updated":"2013-10-31 17:40:04.000000000","message":"Yes.","commit_id":"e8c6948f439fdf0dfd11d7be35c09d82c7a7e9c5"}],"pbr/tests/test_setup.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"42781ee49746114825f7543ac85ae21b08125d4b","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        with open(self.tmp_file, \u0027w\u0027) as fh:"},{"line_number":307,"context_line":"            fh.write(\"ordereddict\u003d\u003d1.0.1\")"},{"line_number":308,"context_line":"        if sys.version_info \u003e\u003d (2, 7):"},{"line_number":309,"context_line":"            self.assertEqual([], packaging.parse_requirements([self.tmp_file]))"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    def test_parse_requirements_override_with_env(self):"},{"line_number":312,"context_line":"        with open(self.tmp_file, \u0027w\u0027) as fh:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FzhQ%3D","line":309,"updated":"2013-10-28 19:18:01.000000000","message":"Please have two tests, one asserting that ordereddict is included in 2.6, and one skipped in 2.7 - you can mock sys.version_info.","commit_id":"60b18ce7b7410f6f8beb1e062f4b22c48baf6270"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"344d3317555d5f1a61f23ea0db8a545d8ef744ab","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        with open(self.tmp_file, \u0027w\u0027) as fh:"},{"line_number":307,"context_line":"            fh.write(\"ordereddict\u003d\u003d1.0.1\")"},{"line_number":308,"context_line":"        if sys.version_info \u003e\u003d (2, 7):"},{"line_number":309,"context_line":"            self.assertEqual([], packaging.parse_requirements([self.tmp_file]))"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    def test_parse_requirements_override_with_env(self):"},{"line_number":312,"context_line":"        with open(self.tmp_file, \u0027w\u0027) as fh:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FmAM%3D","line":309,"updated":"2013-10-31 17:51:53.000000000","message":"I\u0027d still like to see a second test testing the other direction.","commit_id":"4dc9623aa3adab2990dacaaa91a4bf7b07a1436f"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"a3e8d6c98a705ea9d718a0660aefafce893d74a9","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        with open(self.tmp_file, \u0027w\u0027) as fh:"},{"line_number":307,"context_line":"            fh.write(\"ordereddict\u003d\u003d1.0.1\")"},{"line_number":308,"context_line":"        if sys.version_info \u003e\u003d (2, 7):"},{"line_number":309,"context_line":"            self.assertEqual([], packaging.parse_requirements([self.tmp_file]))"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    def test_parse_requirements_override_with_env(self):"},{"line_number":312,"context_line":"        with open(self.tmp_file, \u0027w\u0027) as fh:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FOdo%3D","line":309,"in_reply_to":"AAAATn%2F%2FmAM%3D","updated":"2013-11-12 16:10:53.000000000","message":"Done","commit_id":"4dc9623aa3adab2990dacaaa91a4bf7b07a1436f"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"67dd0f808bd08a580e909a81440b4595a39cf119","unresolved":false,"context_lines":[{"line_number":305,"context_line":"    def test_parse_requirements_removes_versioned_ordereddict(self):"},{"line_number":306,"context_line":"        with open(self.tmp_file, \u0027w\u0027) as fh:"},{"line_number":307,"context_line":"            fh.write(\"ordereddict\u003d\u003d1.0.1\")"},{"line_number":308,"context_line":"        if sys.version_info \u003e\u003d (2, 7):"},{"line_number":309,"context_line":"            self.assertEqual([], packaging.parse_requirements([self.tmp_file]))"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    def test_parse_requirements_keeps_versioned_ordereddict(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FLlk%3D","line":308,"updated":"2013-11-13 09:21:33.000000000","message":"Please mock out sys,version_info, so that this test runs every time.","commit_id":"e1939b7d088c7c6f62286689b4f0adfdfd5c79a8"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"67dd0f808bd08a580e909a81440b4595a39cf119","unresolved":false,"context_lines":[{"line_number":311,"context_line":"    def test_parse_requirements_keeps_versioned_ordereddict(self):"},{"line_number":312,"context_line":"        with open(self.tmp_file, \u0027w\u0027) as fh:"},{"line_number":313,"context_line":"            fh.write(\"ordereddict\u003d\u003d1.0.1\")"},{"line_number":314,"context_line":"        if sys.version_info \u003d\u003d (2, 6):"},{"line_number":315,"context_line":"            self.assertEqual(["},{"line_number":316,"context_line":"                \"ordereddict\u003d\u003d1.0.1\"],"},{"line_number":317,"context_line":"                packaging.parse_requirements([self.tmp_file]))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FLlg%3D","line":314,"updated":"2013-11-13 09:21:33.000000000","message":"Ditto.","commit_id":"e1939b7d088c7c6f62286689b4f0adfdfd5c79a8"}]}
