)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3a77a36e9d77ea756d1ff2fd208023aca806ac95","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Versioning support follow-up"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* Have `delete --all` imply `--versions`"},{"line_number":10,"context_line":"* Have `list --versions` imply `--long`"},{"line_number":11,"context_line":"* In `list --versions` output, add a new column for version-id, between"},{"line_number":12,"context_line":"  last-modified and content-type."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_abc4ab93","line":10,"updated":"2020-04-06 14:51:04.000000000","message":"I\u0027m pretty sure this is helpful, or at least --versions w/o --json was previously NOT helpful","commit_id":"4ff1b06f93c8b34b9010741119542e8061f18d56"}],"swiftclient/service.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3a77a36e9d77ea756d1ff2fd208023aca806ac95","unresolved":false,"context_lines":[{"line_number":2474,"context_line":"                        break"},{"line_number":2475,"context_line":"                    else:"},{"line_number":2476,"context_line":"                        for res in self._delete_container("},{"line_number":2477,"context_line":"                                con, options\u003ddict(options, versions\u003dTrue)):"},{"line_number":2478,"context_line":"                            yield res"},{"line_number":2479,"context_line":""},{"line_number":2480,"context_line":"                            # Cancel the remaining container deletes, but yield"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_0b2cb797","line":2477,"updated":"2020-04-06 14:51:04.000000000","message":"it\u0027s not obvious to me that \"delete all the current versions in a container\" should be unexpressable at this level.","commit_id":"4ff1b06f93c8b34b9010741119542e8061f18d56"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"582fc3604a91f8da76058df2b7e183a4d0563cea","unresolved":false,"context_lines":[{"line_number":2474,"context_line":"                        break"},{"line_number":2475,"context_line":"                    else:"},{"line_number":2476,"context_line":"                        for res in self._delete_container("},{"line_number":2477,"context_line":"                                con, options\u003ddict(options, versions\u003dTrue)):"},{"line_number":2478,"context_line":"                            yield res"},{"line_number":2479,"context_line":""},{"line_number":2480,"context_line":"                            # Cancel the remaining container deletes, but yield"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_375bd92e","line":2477,"in_reply_to":"df33271e_0b2cb797","updated":"2020-04-08 05:05:35.000000000","message":"I guess the question is, what do users want to have happen when running `swift delete --all`? I was thinking they wanted to clean up their account entirely and stop getting billed for bytes stored. It seemed (to me) like a weird break from prior behavior that a delete --all would leave containers behind and drop a bunch of 409s if you had containers with versioning enabled.\n\nMaybe `swift delete --all --versions` is better/the new way to go? I suppose the main smell for me was the 409s, and I\u0027m not even fully addressing that. We should have enough information in our heads to (mostly) avoid it -- maybe I\u0027ll just look at doing *that*, and maybe even give a hint about --versions if the user actually wanted to delete all data.","commit_id":"4ff1b06f93c8b34b9010741119542e8061f18d56"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ac67d0519cb32a00ceb4b37922ae8384968e072d","unresolved":false,"context_lines":[{"line_number":2474,"context_line":"                        break"},{"line_number":2475,"context_line":"                    else:"},{"line_number":2476,"context_line":"                        for res in self._delete_container("},{"line_number":2477,"context_line":"                                con, options\u003ddict(options, versions\u003dTrue)):"},{"line_number":2478,"context_line":"                            yield res"},{"line_number":2479,"context_line":""},{"line_number":2480,"context_line":"                            # Cancel the remaining container deletes, but yield"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_b35162dc","line":2477,"in_reply_to":"df33271e_375bd92e","updated":"2020-04-09 14:36:10.000000000","message":"I really don\u0027t have any problem with the command line interface, the new behavior is akward!  Your doc update to the shell makes the expected behavior clear.  I\u0027m good with that part.\n\nI was thinking about the SwiftService interface; to me:\n\n   del_iter \u003d swift.delete(options\u003d{\u0027yes_all\u0027: True, \u0027versions\u0027: False})\n\n... is unambiguous and broken with this change.\n\nMaybe, just:\n\n    options\u003ddict({\u0027versions\u0027: True}, **options)\n\n???","commit_id":"4ff1b06f93c8b34b9010741119542e8061f18d56"}],"swiftclient/shell.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3a77a36e9d77ea756d1ff2fd208023aca806ac95","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                        for multiple objects."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Optional arguments:"},{"line_number":81,"context_line":"  -a, --all             Delete all containers and objects. Implies --versions."},{"line_number":82,"context_line":"  --versions            Delete all versions."},{"line_number":83,"context_line":"  --leave-segments      Do not delete segments of manifest objects."},{"line_number":84,"context_line":"  -H, --header \u003cheader:value\u003e"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_eb34f3e0","line":81,"updated":"2020-04-06 14:51:04.000000000","message":"perhaps just \"Delete all containers, objects and versions\"","commit_id":"4ff1b06f93c8b34b9010741119542e8061f18d56"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3a77a36e9d77ea756d1ff2fd208023aca806ac95","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Optional arguments:"},{"line_number":81,"context_line":"  -a, --all             Delete all containers and objects. Implies --versions."},{"line_number":82,"context_line":"  --versions            Delete all versions."},{"line_number":83,"context_line":"  --leave-segments      Do not delete segments of manifest objects."},{"line_number":84,"context_line":"  -H, --header \u003cheader:value\u003e"},{"line_number":85,"context_line":"                        Adds a custom request header to use for deleting"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_6b6f43c5","line":82,"updated":"2020-04-06 14:51:04.000000000","message":"it\u0027s interesting perhaps that \"delete all current versions in a container\" is supported as the default behavior for containers but seemingly not possible at the account level.","commit_id":"4ff1b06f93c8b34b9010741119542e8061f18d56"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3a77a36e9d77ea756d1ff2fd208023aca806ac95","unresolved":false,"context_lines":[{"line_number":570,"context_line":"                            output_manager.print_msg("},{"line_number":571,"context_line":"                                \"%s %10s %8s %16s %24s %s\","},{"line_number":572,"context_line":"                                byte_str, date, xtime, item.get(\u0027version_id\u0027),"},{"line_number":573,"context_line":"                                content_type, item_name)"},{"line_number":574,"context_line":"                        else:"},{"line_number":575,"context_line":"                            output_manager.print_msg("},{"line_number":576,"context_line":"                                \"%s %10s %8s %24s %s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_0bd79725","line":573,"updated":"2020-04-06 14:51:04.000000000","message":"love it!\n\n\tvagrant@saio:~$ swift list test --versions\n\t\t   8 2020-04-06 14:48:24 1586184504.32802 application/octet-stream test\n\t\t   8 2020-04-06 14:48:24 1586184404.31292 application/octet-stream test","commit_id":"4ff1b06f93c8b34b9010741119542e8061f18d56"}]}
