)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ec0b76cca74098a721eb2835cca20dd69f219493","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b3507d2d_eeb4618c","updated":"2023-05-02 22:13:26.000000000","message":"i\u0027m less sure if I can get a test working for some old py3.5 or something","commit_id":"d393fa482abf4bb550d5a25a045c61f7a41b2671"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ed8159afce9d7a7d05e9617e04ab1e9d4f2a6f87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5141c7b0_11231b3d","updated":"2023-05-04 14:44:13.000000000","message":"this may not add much, but it was easy to add and I\u0027m not really worried about having \"too many\" examples","commit_id":"d393fa482abf4bb550d5a25a045c61f7a41b2671"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"002cb1f59af55d2a0ff4cf4d46d6c412fa01a093","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"097c3711_bd6b1e1d","in_reply_to":"5141c7b0_11231b3d","updated":"2023-05-04 16:55:08.000000000","message":"Yeah, nothing too interesting, but I\u0027m not opposed to adding it.\n```\ndef dis(raw):\n    buf \u003d io.StringIO()\n    pickletools.dis(raw, buf)\n    # exact offsets are often distracting\n    return [line.partition(\u0027: \u0027)[2] for line in buf.getvalue().split(\u0027\\n\u0027)]\n\nprint(\u0027\\n\u0027.join(difflib.unified_diff(\n    dis(raw_xattr(cases[\u0027python_3.10.6_swift_2.23_replicated\u0027])),\n    dis(raw_xattr(cases[\u0027python3.8.10_swift_2.31.1_replicated\u0027])),\n)))\n```\ngives me something like\n```\n--- \n\n+++ \n\n@@ -13,7 +13,7 @@\n\n R        REDUCE\n q        BINPUT     5\n h        BINGET     1\n-X        BINUNICODE \u00271682963017.10472\u0027\n+X        BINUNICODE \u00271683065478.25004\u0027\n q        BINPUT     6\n h        BINGET     3\n \\x86     TUPLE2\n@@ -45,7 +45,7 @@\n\n R        REDUCE\n q        BINPUT     17\n h        BINGET     1\n-X        BINUNICODE \u002713\u0027\n+X        BINUNICODE \u00278\u0027\n q        BINPUT     18\n h        BINGET     3\n \\x86     TUPLE2\n@@ -61,7 +61,7 @@\n\n R        REDUCE\n q        BINPUT     23\n h        BINGET     1\n-X        BINUNICODE \u00276b7d9a1c5d167cc50037f29f290bb375\u0027\n+X        BINUNICODE \u002770c1db56f301c9e337b0099bd4174b28\u0027\n q        BINPUT     24\n h        BINGET     3\n \\x86     TUPLE2\n@@ -77,7 +77,7 @@\n\n R        REDUCE\n q        BINPUT     29\n h        BINGET     1\n-X        BINUNICODE \u00271682959874.756205\u0027\n+X        BINUNICODE \u00271683064938.699027\u0027\n q        BINPUT     30\n h        BINGET     3\n \\x86     TUPLE2\n```\n(so, some timestamps changed, and our contents were different)\n\nMaybe this is all a sign that we should be checking in the `pickletools.dis` output, though? \\*shrug*","commit_id":"d393fa482abf4bb550d5a25a045c61f7a41b2671"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"88241b0d6cdd8f06ab0cc29221d494e79f204df4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a8667a78_2b8e5ca9","in_reply_to":"b3507d2d_eeb4618c","updated":"2023-05-02 22:54:07.000000000","message":"FWIW, we never officially supported py35, though it was an initial target. py36 surely wouldn\u0027t be a bad idea, though.","commit_id":"d393fa482abf4bb550d5a25a045c61f7a41b2671"}],"test/unit/obj/test_diskfile.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ec0b76cca74098a721eb2835cca20dd69f219493","unresolved":true,"context_lines":[{"line_number":787,"context_line":"01B0   6E 61 6D 65 71 27 68 03 86 71 28 52 71 29 68 01    nameq\u0027h..q(Rq)h."},{"line_number":788,"context_line":"01C0   58 18 00 00 00 2F 41 55 54 48 5F 74 65 73 74 2F    X..../AUTH_test/"},{"line_number":789,"context_line":"01D0   C3 A2 C2 98 C2 83 2F C3 A2 C2 98 C2 83 71 2A 68    ....../......q*h"},{"line_number":790,"context_line":"01E0   03 86 71 2B 52 71 2C 75 2E                         ..q+Rq,u."},{"line_number":791,"context_line":"            \u0027\u0027\u0027,"},{"line_number":792,"context_line":"        }"},{"line_number":793,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"b90d6f52_5034b25d","line":790,"updated":"2023-05-02 22:13:26.000000000","message":"i love this test!  I created this data with:\n\n    swift upload ☃ test --object-name ☃  -m ☃:☃","commit_id":"d393fa482abf4bb550d5a25a045c61f7a41b2671"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"88241b0d6cdd8f06ab0cc29221d494e79f204df4","unresolved":true,"context_lines":[{"line_number":787,"context_line":"01B0   6E 61 6D 65 71 27 68 03 86 71 28 52 71 29 68 01    nameq\u0027h..q(Rq)h."},{"line_number":788,"context_line":"01C0   58 18 00 00 00 2F 41 55 54 48 5F 74 65 73 74 2F    X..../AUTH_test/"},{"line_number":789,"context_line":"01D0   C3 A2 C2 98 C2 83 2F C3 A2 C2 98 C2 83 71 2A 68    ....../......q*h"},{"line_number":790,"context_line":"01E0   03 86 71 2B 52 71 2C 75 2E                         ..q+Rq,u."},{"line_number":791,"context_line":"            \u0027\u0027\u0027,"},{"line_number":792,"context_line":"        }"},{"line_number":793,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"b7aa799d_44eb4989","line":790,"in_reply_to":"b90d6f52_5034b25d","updated":"2023-05-02 22:54:07.000000000","message":"It could use some better infrastructure, though. I know I had some dumps from current master, then removed them after convincing myself that they weren\u0027t terribly different from the 2.23 dumps with some crazy `pickletools.dis`/`difflib.unified_diff` hackery.","commit_id":"d393fa482abf4bb550d5a25a045c61f7a41b2671"}]}
