)]}'
{"id":"openstack%2Fpython-swiftclient~160283","triplet_id":"openstack%2Fpython-swiftclient~master~I7463fe2941cc94f9a50a4756a97c2ccdf946294d","project":"openstack/python-swiftclient","branch":"master","topic":"bp/swiftclient-download-pseudo-folder-to-specific-target","hashtags":[],"change_id":"I7463fe2941cc94f9a50a4756a97c2ccdf946294d","subject":"Add ability to download objects to particular folder.","status":"MERGED","created":"2015-03-02 10:17:12.000000000","updated":"2015-07-11 06:21:42.000000000","submitted":"2015-07-11 06:21:40.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":24,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"1c00099edb9faea4881670f1a488dc6f5e47bf04","_number":160283,"virtual_id_number":160283,"owner":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"date":"2015-07-11 01:27:28.000000000","_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},{"value":0,"_account_id":15090,"name":"Elvis Teixeira","email":"elvis.teixeira@lsbd.ufc.br","username":"ElvisTeixeira"},{"value":2,"date":"2015-07-11 06:21:40.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":0,"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"all":[{"value":2,"date":"2015-07-08 19:41:41.000000000","_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},{"value":0,"_account_id":15090,"name":"Elvis Teixeira","email":"elvis.teixeira@lsbd.ufc.br","username":"ElvisTeixeira"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":2,"date":"2015-07-10 23:57:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},{"value":1,"date":"2015-07-08 19:24:15.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":0,"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"all":[{"value":0,"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},{"value":0,"_account_id":15090,"name":"Elvis Teixeira","email":"elvis.teixeira@lsbd.ufc.br","username":"ElvisTeixeira"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":1,"date":"2015-07-10 23:57:24.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":0,"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},{"_account_id":15090,"name":"Elvis Teixeira","email":"elvis.teixeira@lsbd.ufc.br","username":"ElvisTeixeira"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-03-02 15:26:02.000000000","updated_by":{"_account_id":15090,"name":"Elvis Teixeira","email":"elvis.teixeira@lsbd.ufc.br","username":"ElvisTeixeira"},"reviewer":{"_account_id":15090,"name":"Elvis Teixeira","email":"elvis.teixeira@lsbd.ufc.br","username":"ElvisTeixeira"},"state":"REVIEWER"},{"updated":"2015-03-03 17:20:32.000000000","updated_by":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"reviewer":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"state":"REVIEWER"},{"updated":"2015-03-04 03:04:45.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"REVIEWER"},{"updated":"2015-06-10 13:38:41.000000000","updated_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"reviewer":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"state":"REVIEWER"},{"updated":"2015-06-11 15:04:00.000000000","updated_by":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"reviewer":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"state":"REVIEWER"},{"updated":"2015-07-01 22:48:27.000000000","updated_by":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"reviewer":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"state":"REVIEWER"},{"updated":"2015-07-08 03:03:40.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2015-07-08 19:24:15.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"},{"updated":"2015-07-08 19:41:41.000000000","updated_by":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"reviewer":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"state":"REVIEWER"},{"updated":"2015-07-10 23:57:24.000000000","updated_by":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"reviewer":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"state":"REVIEWER"},{"updated":"2015-07-11 06:21:40.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"9d53c9b4ff5617d21ed9327def94e92c2730eaab","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-03-02 10:17:12.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f23bc50d961125bc62fb6c000ed8fdb5a7e2a566","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-03-02 11:20:22.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/1/check/gate-python-swiftclient-python26/5bc52c8/ : SUCCESS in 50s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/1/check/gate-python-swiftclient-pep8/51cfb03/ : SUCCESS in 51s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/1/check/gate-python-swiftclient-docs/054ea85//doc/build/html/ : SUCCESS in 1m 03s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/1/check/gate-python-swiftclient-python27/f6851e7/ : SUCCESS in 56s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/1/check/gate-python-swiftclient-python34/f3f73a0/ : SUCCESS in 3m 42s\n- gate-tempest-dsvm-neutron-src-python-swiftclient-icehouse http://logs.openstack.org/83/160283/1/check/gate-tempest-dsvm-neutron-src-python-swiftclient-icehouse/ca05e87/ : SUCCESS in 21m 29s\n- gate-tempest-dsvm-neutron-src-python-swiftclient-juno http://logs.openstack.org/83/160283/1/check/gate-tempest-dsvm-neutron-src-python-swiftclient-juno/d80dd59/ : SUCCESS in 39m 42s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/1/check/gate-python-swiftclient-pypy/d1434bd/ : SUCCESS in 2m 02s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/1/check/gate-tempest-dsvm-neutron-src-python-swiftclient/88c1311/ : SUCCESS in 1h 03m 07s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/1/check/check-swift-dsvm-functional/3658685/ : SUCCESS in 28m 35s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/1/check/check-swiftclient-dsvm-functional/8618aee/ : SUCCESS in 21m 28s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"a87800dfccece968d349ea121765995d8ce02975","author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"date":"2015-03-02 13:07:10.000000000","message":"Patch Set 1: Code-Review-1\n\nCan you please explain a little bit more about --output-no-prefix usage? I did not understand how to use it.\nI tried many positions for this option but there is an error given by python.\n\nI created a container called testcont and uploaded an object called test.txt on it.\nWhen I test your new options, I get:\n\n*\nswift download --output-no-prefix --output-dir direc testcont test.txt\n\nError downloading object testcont/test.txt: startswith first arg must be str, unicode, or tuple, not NoneType\n\n**\nswift download testcont test.txt --output-no-prefix --output-dir direc\n\nError downloading object testcont/test.txt: startswith first arg must be str, unicode, or tuple, not NoneType\n\n***\nswift download testcont test.txt --output-no-prefix --output-dir direc\nError downloading object testcont/test.txt: startswith first arg must be str, unicode, or tuple, not NoneType\n\n****\nswift download testcont test.txt --output-dir direc --output-no-prefix\nError downloading object testcont/test.txt: startswith first arg must be str, unicode, or tuple, not NoneType\n\nAlso, I think it would be better if you created some unit tests for these new options. One possible case is that the user has no permission to write an object to the given directory","accounts_in_message":[],"_revision_number":1},{"id":"bd958a89c1d824974bd2facb19212986cb301fe0","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-03-02 14:08:03.000000000","message":"Patch Set 1:\n\nHi Kallebe Monteiro,\n\nThanks for your review. \n\nHere is a example for --output-no-prefix option. \nhttps://gist.github.com/charz/89b3b17aa064334f1806\n\nI think you find an issue in my patch. I\u0027ll update patch.","accounts_in_message":[],"_revision_number":1},{"id":"5c1777f7c754cd6f93fd21eef4ddfd6d39b8d299","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-03-02 14:58:07.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"6793a49df5225b7106340289cd4e3af6d98c58af","author":{"_account_id":15090,"name":"Elvis Teixeira","email":"elvis.teixeira@lsbd.ufc.br","username":"ElvisTeixeira"},"date":"2015-03-02 15:26:02.000000000","message":"Patch Set 2: Code-Review+1\n\nGood, that improves usability","accounts_in_message":[],"_revision_number":2},{"id":"dd862c94ddba69d89f0991524bdabf3feef46920","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-03-02 16:34:33.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/2/check/gate-python-swiftclient-python26/07e97ca/ : SUCCESS in 56s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/2/check/gate-python-swiftclient-pep8/7c2a650/ : SUCCESS in 49s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/2/check/gate-python-swiftclient-docs/511f748//doc/build/html/ : SUCCESS in 52s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/2/check/gate-python-swiftclient-python27/1302ff9/ : SUCCESS in 54s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/2/check/gate-python-swiftclient-python34/caceb0f/ : SUCCESS in 3m 29s\n- gate-tempest-dsvm-neutron-src-python-swiftclient-icehouse http://logs.openstack.org/83/160283/2/check/gate-tempest-dsvm-neutron-src-python-swiftclient-icehouse/41eed9b/ : SUCCESS in 22m 29s\n- gate-tempest-dsvm-neutron-src-python-swiftclient-juno http://logs.openstack.org/83/160283/2/check/gate-tempest-dsvm-neutron-src-python-swiftclient-juno/606450f/ : SUCCESS in 38m 51s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/2/check/gate-python-swiftclient-pypy/2fb7eee/ : SUCCESS in 2m 25s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/2/check/gate-tempest-dsvm-neutron-src-python-swiftclient/7227b68/ : SUCCESS in 1h 08m 06s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/2/check/check-swift-dsvm-functional/3650cb6/ : SUCCESS in 27m 24s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/2/check/check-swiftclient-dsvm-functional/68cdb99/ : SUCCESS in 23m 12s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"2cb09ca7f9da33c0849c4b6222ffb079f8521dc2","author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"date":"2015-03-02 16:58:55.000000000","message":"Patch Set 2: Code-Review+1\n\n@Charles Hsu\n\nOk, thanks for the explanation. Now I understand what it is.\nI think it would be better if you created some unit test for these options. Let\u0027s wait for the feedback of other reviewers about this.","accounts_in_message":[],"_revision_number":2},{"id":"dae293aa3183130418718fbeab26c551f4be80a8","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-03-03 08:10:58.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"8d1ea1c5d351867eb8baaba99f1ee2b1e274f378","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-03-03 09:09:13.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/3/check/gate-python-swiftclient-python26/ce2a24f/ : SUCCESS in 48s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/3/check/gate-python-swiftclient-pep8/f33e048/ : SUCCESS in 43s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/3/check/gate-python-swiftclient-docs/c82377f//doc/build/html/ : SUCCESS in 55s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/3/check/gate-python-swiftclient-python27/eb183fb/ : SUCCESS in 55s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/3/check/gate-python-swiftclient-python34/acbf7a8/ : FAILURE in 3m 43s\n- gate-tempest-dsvm-neutron-src-python-swiftclient-icehouse http://logs.openstack.org/83/160283/3/check/gate-tempest-dsvm-neutron-src-python-swiftclient-icehouse/5db67b1/ : SUCCESS in 22m 56s\n- gate-tempest-dsvm-neutron-src-python-swiftclient-juno http://logs.openstack.org/83/160283/3/check/gate-tempest-dsvm-neutron-src-python-swiftclient-juno/4c731e7/ : SUCCESS in 46m 45s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/3/check/gate-python-swiftclient-pypy/088df91/ : SUCCESS in 2m 01s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/3/check/gate-tempest-dsvm-neutron-src-python-swiftclient/bf6ef21/ : SUCCESS in 58m 08s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/3/check/check-swift-dsvm-functional/ec48217/ : SUCCESS in 26m 04s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/3/check/check-swiftclient-dsvm-functional/803b340/ : SUCCESS in 22m 17s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"a5c05353113fee7305c24c3264714b0baaee1c97","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-03-03 15:19:09.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"5dde0b718d76a6199ef0cfee6a6791367db1514c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-03-03 16:48:03.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/4/check/gate-python-swiftclient-python26/fe229a5/ : SUCCESS in 46s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/4/check/gate-python-swiftclient-pep8/bdc2efe/ : SUCCESS in 59s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/4/check/gate-python-swiftclient-docs/5c539e5//doc/build/html/ : SUCCESS in 53s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/4/check/gate-python-swiftclient-python27/00a8f23/ : SUCCESS in 49s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/4/check/gate-python-swiftclient-python34/7688c66/ : SUCCESS in 3m 23s\n- gate-tempest-dsvm-neutron-src-python-swiftclient-icehouse http://logs.openstack.org/83/160283/4/check/gate-tempest-dsvm-neutron-src-python-swiftclient-icehouse/383d3a9/ : SUCCESS in 22m 10s\n- gate-tempest-dsvm-neutron-src-python-swiftclient-juno http://logs.openstack.org/83/160283/4/check/gate-tempest-dsvm-neutron-src-python-swiftclient-juno/77d812b/ : SUCCESS in 53m 38s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/4/check/gate-python-swiftclient-pypy/cf85073/ : SUCCESS in 1m 11s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/4/check/gate-tempest-dsvm-neutron-src-python-swiftclient/2046568/ : SUCCESS in 1h 02m 21s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/4/check/check-swift-dsvm-functional/add3571/ : SUCCESS in 28m 56s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/4/check/check-swiftclient-dsvm-functional/6cfd906/ : SUCCESS in 21m 01s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"d78af85d9e2eb27438aeb832f7b11fb90d240beb","author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"date":"2015-03-03 17:20:32.000000000","message":"Patch Set 4: Code-Review+1\n\nThanks for the change.","accounts_in_message":[],"_revision_number":4},{"id":"5b15bf94df5686df713cb3ceae03e6353a544e7f","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-01 19:11:02.000000000","message":"Patch Set 4: Verified-1\n\nMerge Failed.\n\nThis change was unable to be automatically merged with the current state of the repository. Please rebase your change and upload a new patchset.","accounts_in_message":[],"_revision_number":4},{"id":"558961a601d0dfaa32e915a04803114047a012fc","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2015-06-05 09:59:03.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"2deaffe72560282a0b29c98f04483384b1eed495","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2015-06-05 09:59:45.000000000","message":"Patch Set 5:\n\nRebased patch against master","accounts_in_message":[],"_revision_number":5},{"id":"99db134bd9928f9444d27111f6d5ba99dfcd3b1b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-05 10:55:12.000000000","message":"Patch Set 5: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/5/check/gate-python-swiftclient-python26/e8dfb30/ : FAILURE in 52s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/5/check/gate-python-swiftclient-pep8/a2eae3b/ : FAILURE in 54s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/5/check/gate-python-swiftclient-docs/2fc430c//doc/build/html/ : SUCCESS in 50s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/5/check/gate-python-swiftclient-python27/fd29b42/ : FAILURE in 1m 21s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/5/check/gate-python-swiftclient-python34/6c7b075/ : FAILURE in 1m 44s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/5/check/gate-python-swiftclient-pypy/7a7045d/ : FAILURE in 1m 39s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/5/check/gate-tempest-dsvm-neutron-src-python-swiftclient/7f92771/ : SUCCESS in 54m 26s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/5/check/check-swift-dsvm-functional/65843f3/ : SUCCESS in 31m 22s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/5/check/check-swiftclient-dsvm-functional/1dd5996/ : SUCCESS in 16m 52s","accounts_in_message":[],"_revision_number":5},{"id":"5159adb7c85799e6ffc1aa6233b6e48cb6ab8a02","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-06-05 16:51:31.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"bdd84250a6138fafae8c09807d3c8b3b7b54a7d5","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-06-05 16:52:25.000000000","message":"Patch Set 6:\n\nMerged the two TestServiceDownload classes.","accounts_in_message":[],"_revision_number":6},{"id":"86eabca270ac06a7cd677b8eea1eb4477dec99bb","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-05 17:38:26.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/6/check/gate-python-swiftclient-python26/d0f4bc9/ : SUCCESS in 59s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/6/check/gate-python-swiftclient-pep8/4ec2de1/ : SUCCESS in 50s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/6/check/gate-python-swiftclient-docs/12b90b2//doc/build/html/ : SUCCESS in 53s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/6/check/gate-python-swiftclient-python27/ee0efcb/ : SUCCESS in 1m 54s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/6/check/gate-python-swiftclient-python34/4c4ed1c/ : SUCCESS in 2m 01s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/6/check/gate-python-swiftclient-pypy/8fef2cb/ : SUCCESS in 1m 22s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/6/check/gate-tempest-dsvm-neutron-src-python-swiftclient/87676d6/ : SUCCESS in 43m 43s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/6/check/check-swift-dsvm-functional/845ede1/ : SUCCESS in 21m 45s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/6/check/check-swiftclient-dsvm-functional/71c0f82/ : SUCCESS in 18m 40s","accounts_in_message":[],"_revision_number":6},{"id":"97997ae5fd50bd1a0692279272719ed8c19e1120","author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"date":"2015-06-06 18:52:57.000000000","message":"Patch Set 6: Code-Review-1\n\n(2 comments)\n\nLooks good.  -1 only for some clarification on the usage statement.","accounts_in_message":[],"_revision_number":6},{"id":"40417a9104ac3e20db2f86876c16001d2f676153","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-07 17:18:26.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"7cfd3b97a153012a1c31d1d15be430d7a19076c4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-07 17:59:45.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/7/check/gate-python-swiftclient-python26/e8cbf4a/ : SUCCESS in 47s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/7/check/gate-python-swiftclient-pep8/3184462/ : SUCCESS in 51s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/7/check/gate-python-swiftclient-docs/ee56291//doc/build/html/ : SUCCESS in 54s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/7/check/gate-python-swiftclient-python27/da9af9b/ : SUCCESS in 1m 08s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/7/check/gate-python-swiftclient-python34/e67aed4/ : SUCCESS in 2m 15s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/7/check/gate-python-swiftclient-pypy/d2e97ca/ : SUCCESS in 1m 28s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/7/check/gate-tempest-dsvm-neutron-src-python-swiftclient/0d235cd/ : SUCCESS in 41m 12s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/7/check/check-swift-dsvm-functional/d6afe2f/ : SUCCESS in 21m 07s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/7/check/check-swiftclient-dsvm-functional/25e62d9/ : SUCCESS in 27m 02s","accounts_in_message":[],"_revision_number":7},{"id":"b013645e0fd79f74334943cf3f9719ff4273b19d","author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"date":"2015-06-07 18:36:15.000000000","message":"Patch Set 7: Code-Review+1\n\nthe new description sounds good","accounts_in_message":[],"_revision_number":7},{"id":"477c7a58bd40ed8ee4f15b5748abaf5874854efc","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2015-06-08 12:50:18.000000000","message":"Patch Set 7: Code-Review-1\n\n(3 comments)\n\nI\u0027m still not sure that the description of the output-no-prefix option is clear enough, and I think we need to be very careful about the output locations we attempt to open. If you want to allow writing objects outside of the specified directory (or the current directory default) then we need to be very clear to include a warning in the output-no-prefix help text.","accounts_in_message":[],"_revision_number":7},{"id":"1d100adfb4866cce009087d99b8822d2644d8837","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-09 08:23:34.000000000","message":"Patch Set 7:\n\n(4 comments)\n\nJoel, thanks your advice. That\u0027s true, We should add notices to help text and explain it as clearly as possible. Could you help to review my comments. Thanks!","accounts_in_message":[],"_revision_number":7},{"id":"9cdeb3989ffabef503385d7df479d6babeec820b","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2015-06-09 09:51:59.000000000","message":"Patch Set 7:\n\n(1 comment)\n\nAdded some clarification about my concerns regarding the output path modification.","accounts_in_message":[],"_revision_number":7},{"id":"685b3298adaf5e51f41ad3f5af2c686bbf989669","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-09 13:52:30.000000000","message":"Patch Set 7:\n\n(1 comment)\n\nOk, I\u0027ll send path later.","accounts_in_message":[],"_revision_number":7},{"id":"5331dfea62c370602304fcd3154e89a8c543653b","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-09 14:06:05.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"1b366f8e53e8f7689554267fbf069401ede47ea6","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-09 15:26:48.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/8/check/gate-python-swiftclient-python26/418eb60/ : SUCCESS in 53s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/8/check/gate-python-swiftclient-pep8/be2c337/ : SUCCESS in 1m 20s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/8/check/gate-python-swiftclient-docs/e5ec7ab//doc/build/html/ : SUCCESS in 1m 16s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/8/check/gate-python-swiftclient-python27/3642918/ : SUCCESS in 1m 11s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/8/check/gate-python-swiftclient-python34/afd08e7/ : SUCCESS in 2m 16s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/8/check/gate-python-swiftclient-pypy/ab6ef48/ : SUCCESS in 1m 33s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/8/check/gate-tempest-dsvm-neutron-src-python-swiftclient/a8fb470/ : SUCCESS in 47m 54s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/8/check/check-swift-dsvm-functional/57cb653/ : SUCCESS in 26m 55s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/8/check/check-swiftclient-dsvm-functional/861ceb9/ : SUCCESS in 18m 39s","accounts_in_message":[],"_revision_number":8},{"id":"4e1c68f54bfb8043bdcc6c650487cc8e150b4402","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2015-06-09 21:06:02.000000000","message":"Patch Set 8: Code-Review+1\n\nI\u0027m much happier with this patch now. Thanks for making the changes so quickly!","accounts_in_message":[],"_revision_number":8},{"id":"9e7703fad95611cc19f9545a6c6c388f8fc1c288","author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"date":"2015-06-10 02:25:10.000000000","message":"Patch Set 8: Code-Review+1","accounts_in_message":[],"_revision_number":8},{"id":"f6eab7665297b8e7010ffbfb84b73d846de7c9b0","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2015-06-10 12:23:04.000000000","message":"Patch Set 8: Code-Review+1\n\n(1 comment)\n\nI\u0027m wondering about the name of the second option, maybe a different one is more clear? Please have a look at my inline comment.\n\nApart from this code looks good to me.","accounts_in_message":[],"_revision_number":8},{"id":"7838fbfb1e9b85a8e70c886829c555a80f0176c1","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-10 13:11:36.000000000","message":"Patch Set 8:\n\n(1 comment)\n\nThat\u0027s much better. Thanks.","accounts_in_message":[],"_revision_number":8},{"id":"ad194d682efb664618bd24018899d68d939aeed9","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-10 13:32:53.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"19a18eaab46e8184f77277963a9b73a57f309415","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2015-06-10 13:38:41.000000000","message":"Patch Set 9: Code-Review+2\n\nNice, thanks for changing this!","accounts_in_message":[],"_revision_number":9},{"id":"b5ec5c69f4be490b75e286eab0abf861391c8359","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-10 15:49:50.000000000","message":"Patch Set 9: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/9/check/gate-python-swiftclient-python26/f3cf1ed/ : SUCCESS in 44s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/9/check/gate-python-swiftclient-pep8/667a1f9/ : SUCCESS in 1m 07s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/9/check/gate-python-swiftclient-docs/eb97336//doc/build/html/ : SUCCESS in 49s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/9/check/gate-python-swiftclient-python27/ec3d8a3/ : SUCCESS in 53s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/9/check/gate-python-swiftclient-python34/ec0905b/ : SUCCESS in 1m 58s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/9/check/gate-python-swiftclient-pypy/33f47c2/ : SUCCESS in 1m 42s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/9/check/gate-tempest-dsvm-neutron-src-python-swiftclient/e2f0d8e/ : SUCCESS in 57m 43s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/9/check/check-swift-dsvm-functional/4057c17/ : SUCCESS in 35m 38s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/9/check/check-swiftclient-dsvm-functional/5359d98/ : SUCCESS in 19m 37s","accounts_in_message":[],"_revision_number":9},{"id":"5ee8780f487c111b6f3eb76349ef892227539116","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-06-10 16:46:13.000000000","message":"Patch Set 9: Code-Review-1\n\n(2 comments)\n\nLove the idea, but I\u0027ve got a couple concerns about interactions with existing options.","accounts_in_message":[],"_revision_number":9},{"id":"002e1ce9f5dd3cf6cd3589468a11da893d2150d0","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2015-06-10 18:23:10.000000000","message":"Patch Set 9:\n\n(1 comment)","accounts_in_message":[],"_revision_number":9},{"id":"2607bc844ef007fe49c6917070efb7fe2996bfd6","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-10 19:08:54.000000000","message":"Patch Set 9:\n\n(2 comments)\n\nThanks, Tim. it\u0027s really broken --skip-indentical.","accounts_in_message":[],"_revision_number":9},{"id":"78af3e5937ce5f81a12fd7fc52237ac7b4fdaae9","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-10 19:15:09.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"28ee61bcc9e797e91ddc0c2702181ce7ff0d9a44","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-06-10 20:14:41.000000000","message":"Patch Set 10:\n\n(1 comment)\n\nWe lost one potential use-case by making these only work for multiple-object downloads. I\u0027m not opposed, but we should clean up the documented behavior in the commit message.","accounts_in_message":[],"_revision_number":10},{"id":"2457270670b3ed3c37aa804774ef6ef625558973","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-10 20:28:30.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/10/check/gate-python-swiftclient-python26/4526d60/ : SUCCESS in 1m 03s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/10/check/gate-python-swiftclient-pep8/7ccba7c/ : SUCCESS in 46s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/10/check/gate-python-swiftclient-docs/f8a882e//doc/build/html/ : SUCCESS in 55s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/10/check/gate-python-swiftclient-python27/64a18ed/ : SUCCESS in 49s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/10/check/gate-python-swiftclient-python34/3ecb836/ : SUCCESS in 2m 36s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/10/check/gate-python-swiftclient-pypy/5fe65d4/ : SUCCESS in 1m 41s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/10/check/gate-tempest-dsvm-neutron-src-python-swiftclient/699e7e4/ : SUCCESS in 1h 02m 30s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/10/check/check-swift-dsvm-functional/82b6fb6/ : SUCCESS in 24m 51s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/10/check/check-swiftclient-dsvm-functional/915a283/ : SUCCESS in 25m 37s","accounts_in_message":[],"_revision_number":10},{"id":"e3e3b8184db1c3f4423b4bda89d52beff67c2c70","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-06-11 01:36:27.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"8122ccd0326ab092e3fd8e82ff4a3268916dbf34","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-06-11 01:37:33.000000000","message":"Patch Set 11: Code-Review+1","accounts_in_message":[],"_revision_number":11},{"id":"cc838a8b6a2c08449d764593a5d1792127017778","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-11 02:29:26.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/11/check/gate-python-swiftclient-python26/652a2c5/ : SUCCESS in 53s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/11/check/gate-python-swiftclient-pep8/fa1ac5c/ : SUCCESS in 45s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/11/check/gate-python-swiftclient-docs/0594117//doc/build/html/ : SUCCESS in 51s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/11/check/gate-python-swiftclient-python27/cc3974e/ : SUCCESS in 57s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/11/check/gate-python-swiftclient-python34/ea7d0c2/ : SUCCESS in 1m 49s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/11/check/gate-python-swiftclient-pypy/7020b9d/ : SUCCESS in 1m 24s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/11/check/gate-tempest-dsvm-neutron-src-python-swiftclient/431ae90/ : SUCCESS in 52m 22s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/11/check/check-swift-dsvm-functional/2a63942/ : SUCCESS in 27m 56s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/11/check/check-swiftclient-dsvm-functional/57a5063/ : SUCCESS in 16m 24s","accounts_in_message":[],"_revision_number":11},{"id":"f658db72101371725adb9288503f74c68e2710a5","author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"date":"2015-06-11 15:04:00.000000000","message":"Patch Set 11: Code-Review+1","accounts_in_message":[],"_revision_number":11},{"id":"39d3facde1245843cb92e24e02b36fa6665e9fbc","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2015-06-25 20:45:59.000000000","message":"Patch Set 11: Code-Review+2","accounts_in_message":[],"_revision_number":11},{"id":"c93c7c0d97dc6ec848e07d7b271e4bd8e7544adb","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2015-06-29 20:28:01.000000000","message":"Patch Set 11: Code-Review-1\n\nwhen you do file system path joining manually babies cry\n\n    vagrant@saio:/tmp$ swift download --prefix _static --output-dir static/ --output-remove-prefix _static doc\n    static//basic.css [auth 0.015s, headers 0.046s, total 0.046s, 0.210 MB/s]\n    static//ajax-loader.gif [auth 0.013s, headers 0.024s, total 0.024s, 0.062 MB/s]\n    static//comment.png [auth 0.000s, headers 0.029s, total 0.029s, 0.119 MB/s]\n    static//default.css [auth 0.000s, headers 0.047s, total 0.047s, 0.077 MB/s]\n\n\nhttps://gist.github.com/clayg/f682f6afa3e92f19acb3\n\nI don\u0027t understand the usecase for when --output-remove-prefix doesn\u0027t match --prefix.  I think --output--remove-prefix should just be a boolean like \"make destination file names releative to prefix instead of absolute\".  If it worked like that I think `swift download --prefix _static --remove-prefix` would make total sense as downloading the things in the prefix \"subdir\" to the localdir - or you could rehome it to --output-dir if you don\u0027t want it to download to the localdir.\n\nBut when do you ever want to rewrite the location of only *some* of the objects that happen to match the given --output-remove-prefix which may not be the same as the --prefix?  In fact it seems error prone:\n\n    vagrant@saio:/tmp$ swift list source\n    file1\n    subdir1/file2\n    subdir1/subdir2/file3\n    vagrant@saio:/tmp$ mkdir dest\n    vagrant@saio:/tmp$ swift download source --prefix subdir1 --output-dir dest --output-remove-prefix subdir1/subdir2\n    dest/subdir1/file2 [auth 0.004s, headers 0.011s, total 0.011s, 0.000 MB/s]\n    dest/file3 [auth 0.005s, headers 0.016s, total 0.016s, 0.000 MB/s]\n    vagrant@saio:/tmp$ find dest | sort\n    dest\n    dest/file3\n    dest/subdir1\n    dest/subdir1/file2","accounts_in_message":[],"_revision_number":11},{"id":"8bdb536be7350367fd8bbec01b818102ef655a2e","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2015-06-29 21:24:03.000000000","message":"Patch Set 11: Code-Review-1\n\n(1 comment)\n\nGood spot with the path joining Clay. Even though I don\u0027t think your example double-slash in the output examples are possible, we certainly should be using the os module for path joining.\n\nAs for --output-remove-prefix, do you not think there\u0027s a case for removing only part of the prefix? I can imagine wanting to download \n\n    --prefix\u003d/path/to/folder\n\nwithout wanting to remove the folder, and while I agree that it the same result could be achieved using `--output-dir`, somehow\n\n    --prefix\u003d/path/to/folder/structure/I/want --output-remove-prefix\u003d/path/to\n\nseems in some way neater than\n\n    --prefix\u003d/path/to/folder/structure/I/want --remove-prefix --output-dir\u003d./folder/structure/I/want\n\nAlthough... having said that I really don\u0027t like the potentially odd output paths you pointed out either. Perhaps another option is to enforce that `--output-remove-prefix` is only used with `--prefix` and that the removed part is a substring of the prefix?","accounts_in_message":[],"_revision_number":11},{"id":"3d68824c0a052852cce658bb86be64bf67a9ffd6","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2015-06-29 23:00:16.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"1b6524ed87925ad68348606ea5c57af3a0e61263","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2015-06-29 23:04:24.000000000","message":"Patch Set 12:\n\n@Joel - ok - I hadn\u0027t recognized the case you described where output-output-remove-prefix is a strict prefix of the given download prefix - makes total sense - and doesn\u0027t limit the ability to add a --remove-prefix that\u0027s a pure boolean and in fact could be implemented as a convince over --output-remove-prefix (which is ideal).\n\nI could *not* find a good place to add a test for the \"out_remove_prefix is prefix of prefix\" validator - maybe test_shell?  Seems to work manually tho.","accounts_in_message":[],"_revision_number":12},{"id":"8111e06bcee3c5388cb36f4210ed70afa1728a74","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-06-30 00:18:45.000000000","message":"Patch Set 12: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-python26/07e4756/ : SUCCESS in 56s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-pep8/612c08f/ : SUCCESS in 58s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/12/check/gate-python-swiftclient-docs/4e9992a//doc/build/html/ : SUCCESS in 53s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-python27/852d3ce/ : SUCCESS in 45s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-python34/5e2eb12/ : SUCCESS in 1m 38s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-pypy/b2f492a/ : SUCCESS in 2m 13s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/12/check/gate-tempest-dsvm-neutron-src-python-swiftclient/07ec1a2/ : SUCCESS in 45m 33s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/12/check/check-swift-dsvm-functional/13b6a34/ : SUCCESS in 25m 18s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/12/check/check-swiftclient-dsvm-functional/0c0ea7a/ : FAILURE in 17m 58s","accounts_in_message":[],"_revision_number":12},{"id":"98f11aaa0bb6cb86c2206a4fcacaa64b6759794d","author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"date":"2015-07-01 22:48:27.000000000","message":"Patch Set 12:\n\nrecheck no bug","accounts_in_message":[],"_revision_number":12},{"id":"1ad3301cc95ff24f3c3f7f395f7c4b71223ec5a7","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-01 23:50:10.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-python26/a64022f/ : SUCCESS in 56s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-pep8/a097a12/ : SUCCESS in 47s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/12/check/gate-python-swiftclient-docs/e5062b1//doc/build/html/ : SUCCESS in 51s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-python27/5206115/ : SUCCESS in 58s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-python34/dde4bff/ : SUCCESS in 3m 15s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/12/check/gate-python-swiftclient-pypy/bd030c1/ : SUCCESS in 1m 32s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/12/check/gate-tempest-dsvm-neutron-src-python-swiftclient/259c9ca/ : SUCCESS in 57m 36s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/12/check/check-swift-dsvm-functional/6df4448/ : SUCCESS in 25m 18s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/12/check/check-swiftclient-dsvm-functional/4a3d6d5/ : SUCCESS in 20m 22s","accounts_in_message":[],"_revision_number":12},{"id":"6a7cf74451f2a9a56408717a61841febd6ce5a87","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-07-07 09:38:52.000000000","message":"Patch Set 12:\n\n@clay, thanks for point out the problem and fix it.\n\n@joel, That\u0027s good idea, I prefer replace `--output-remove-prefix` with `--remove-prefix` as your suggestion.\n    --prefix\u003d/path/to/folder/structure/I/want --remove-prefix --output-dir\u003d./folder/structure/I/want","accounts_in_message":[],"_revision_number":12},{"id":"99d1640edbf0828c42a16d9b5f856932140d1fc4","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-07-07 13:04:05.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"5258fd03fe3d89353014820c7b945ffb28394c55","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-07-07 13:05:37.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"b7abe070982eb69aab2a939b4e58e3108ff35cb6","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-07 14:13:02.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/14/check/gate-python-swiftclient-python26/5bca17a/ : SUCCESS in 1m 00s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/14/check/gate-python-swiftclient-pep8/202610a/ : SUCCESS in 46s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/14/check/gate-python-swiftclient-docs/484c72d//doc/build/html/ : SUCCESS in 1m 10s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/14/check/gate-python-swiftclient-python27/7de5eba/ : SUCCESS in 54s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/14/check/gate-python-swiftclient-python34/364f037/ : SUCCESS in 2m 19s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/14/check/gate-python-swiftclient-pypy/a5a7443/ : SUCCESS in 1m 03s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/14/check/gate-tempest-dsvm-neutron-src-python-swiftclient/66610a0/ : SUCCESS in 1h 06m 34s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/14/check/check-swift-dsvm-functional/883b932/ : SUCCESS in 28m 49s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/14/check/check-swiftclient-dsvm-functional/ba4a793/ : SUCCESS in 20m 03s","accounts_in_message":[],"_revision_number":14},{"id":"db909a2905716603f355ac880dae67b3cc329932","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-07-08 02:54:14.000000000","message":"Patch Set 14: Code-Review-1\n\n(2 comments)\n\nI like the simplification, but I think there are a couple issues.","accounts_in_message":[],"_revision_number":14},{"id":"3009cc7f092df40a4e8ad65e5fd08e38dae60aea","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2015-07-08 03:03:40.000000000","message":"Patch Set 14:\n\nFWIW I think Joel had specifically made the case to leave the --output-remove-prefix option as-is, and I had agreed it wouldn\u0027t have made it any harder to add --remove-prefix later, as long as we added the strict prefix requirement - having both seemed like a reasonable direction.","accounts_in_message":[],"_revision_number":14},{"id":"024fadaf4f055d361c9c49272720fa9c2585cc98","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-07-08 04:34:26.000000000","message":"Patch Set 14:\n\n(2 comments)\n\n@tim, I updated the comments, could you check that?","accounts_in_message":[],"_revision_number":14},{"id":"1862a4ddc800be5a21ff614a6fca82707df8f100","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-07-08 05:18:49.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"0d809dcc42ca5688f7ebef5cceeeab764c044c59","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-08 06:19:10.000000000","message":"Patch Set 15: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/15/check/gate-python-swiftclient-python26/d9c0787/ : FAILURE in 57s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/15/check/gate-python-swiftclient-pep8/1d5504b/ : SUCCESS in 45s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/15/check/gate-python-swiftclient-docs/75a9a89//doc/build/html/ : SUCCESS in 53s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/15/check/gate-python-swiftclient-python27/cbd9c3e/ : FAILURE in 56s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/15/check/gate-python-swiftclient-python34/ea147c0/ : FAILURE in 1m 45s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/15/check/gate-python-swiftclient-pypy/d12621a/ : FAILURE in 1m 42s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/15/check/gate-tempest-dsvm-neutron-src-python-swiftclient/fddab33/ : SUCCESS in 1h 00m 14s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/15/check/check-swift-dsvm-functional/1ec6122/ : SUCCESS in 37m 47s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/15/check/check-swiftclient-dsvm-functional/9e90dc7/ : SUCCESS in 26m 00s","accounts_in_message":[],"_revision_number":15},{"id":"4169a9dd61362d39d55d47e834d100647ba1a2d2","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-07-08 06:23:25.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"7ef3155d0a0ee31efc0e0692ab91bad24f04f30b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-08 07:24:59.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python26/8528ad4/ : SUCCESS in 1m 23s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-pep8/1668a40/ : SUCCESS in 1m 06s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/16/check/gate-python-swiftclient-docs/49a39bf//doc/build/html/ : SUCCESS in 1m 02s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python27/16875bf/ : SUCCESS in 1m 39s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python34/347596a/ : SUCCESS in 2m 12s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-pypy/a08c25c/ : SUCCESS in 1m 33s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/16/check/gate-tempest-dsvm-neutron-src-python-swiftclient/614e95a/ : SUCCESS in 1h 01m 00s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/16/check/check-swift-dsvm-functional/3c273cc/ : SUCCESS in 33m 05s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/16/check/check-swiftclient-dsvm-functional/6557928/ : SUCCESS in 25m 52s","accounts_in_message":[],"_revision_number":16},{"id":"05dcb1af14794eedaf9b83a0d29e9f80216540f5","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-07-08 19:24:15.000000000","message":"Patch Set 16: Code-Review+1","accounts_in_message":[],"_revision_number":16},{"id":"1d847c2b881b2293c06d10b01cf590bb112ee884","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2015-07-08 19:41:41.000000000","message":"Patch Set 16: Code-Review+2\n\nI\u0027m happy with the simplification, I think there are far fewer opportunities for mistakes with this version even though it\u0027s somewhat less flexible.","accounts_in_message":[],"_revision_number":16},{"id":"4783dcbb892cffc41391559255ad84e35f82f43c","author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"date":"2015-07-10 23:57:24.000000000","message":"Patch Set 16: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":16},{"id":"52574004a992b1028105a13b1d4b2abb9dbaceb3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-10 23:57:30.000000000","message":"Patch Set 16: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":16},{"id":"5adf14c6c8f0f0a003d3d61e8b3db57f8934f896","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-11 01:02:41.000000000","message":"Patch Set 16: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-python26/b80b81a/ : FAILURE in 2m 04s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/16/gate/gate-python-swiftclient-docs/307493d//doc/build/html/ : SUCCESS in 52s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-pep8/34744f3/ : SUCCESS in 46s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-python27/5f61aee/ : SUCCESS in 1m 02s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-python34/9d099d3/ : SUCCESS in 2m 11s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-pypy/eb8b7c1/ : SUCCESS in 1m 31s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/16/gate/gate-tempest-dsvm-neutron-src-python-swiftclient/c151b63/ : SUCCESS in 46m 06s\n- gate-swift-dsvm-functional http://logs.openstack.org/83/160283/16/gate/gate-swift-dsvm-functional/0e98e7a/ : SUCCESS in 27m 55s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/16/gate/gate-swiftclient-dsvm-functional/efad929/ : SUCCESS in 21m 01s","accounts_in_message":[],"_revision_number":16},{"id":"30c2da994121c99334ddbe3823ae85a309c134c2","author":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"date":"2015-07-11 01:27:28.000000000","message":"Patch Set 16:\n\nrecheck no bug","accounts_in_message":[],"_revision_number":16},{"id":"79bb82aa9330f515212ae9d2303c9b2905533f3b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-11 02:15:13.000000000","message":"Patch Set 16: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python26/05370a0/ : FAILURE in 53s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-pep8/9b65ad5/ : SUCCESS in 1m 00s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/16/check/gate-python-swiftclient-docs/07eeec7//doc/build/html/ : SUCCESS in 57s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python27/1126e7f/ : SUCCESS in 47s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python34/a1fb15b/ : SUCCESS in 2m 31s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-pypy/c3d2947/ : SUCCESS in 1m 14s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/16/check/gate-tempest-dsvm-neutron-src-python-swiftclient/aafdb81/ : SUCCESS in 47m 38s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/16/check/check-swift-dsvm-functional/d273ca0/ : SUCCESS in 26m 32s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/16/check/check-swiftclient-dsvm-functional/3764451/ : SUCCESS in 26m 16s","accounts_in_message":[],"_revision_number":16},{"id":"51d0ea92bac26b3504d3f1eca2f3ad2f4fbecdd0","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-07-11 04:48:20.000000000","message":"Patch Set 16:\n\nrecheck","accounts_in_message":[],"_revision_number":16},{"id":"9fd282f12447de8e05bfb9e2c46e62f54c90a9c9","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-11 05:36:44.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python26/1fefc23/ : SUCCESS in 56s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-pep8/1fe665c/ : SUCCESS in 1m 04s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/16/check/gate-python-swiftclient-docs/2c56186//doc/build/html/ : SUCCESS in 45s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python27/6944a8a/ : SUCCESS in 53s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-python34/66926a8/ : SUCCESS in 2m 18s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/16/check/gate-python-swiftclient-pypy/0914316/ : SUCCESS in 1m 45s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/16/check/gate-tempest-dsvm-neutron-src-python-swiftclient/df80eab/ : SUCCESS in 48m 18s\n- check-swift-dsvm-functional http://logs.openstack.org/83/160283/16/check/check-swift-dsvm-functional/06953a3/ : SUCCESS in 27m 47s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/16/check/check-swiftclient-dsvm-functional/42bbcb4/ : SUCCESS in 25m 59s","accounts_in_message":[],"_revision_number":16},{"id":"67685622aa9b976e97a8d5928d9ebb480c430cd8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-11 05:36:50.000000000","message":"Patch Set 16: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":16},{"id":"a4addc345a3f51b503014ef870fc61535fbaf8c1","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-11 06:21:40.000000000","message":"Patch Set 16: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-swiftclient-python26 http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-python26/a40c59d/ : SUCCESS in 1m 08s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/83/160283/16/gate/gate-python-swiftclient-docs/f2c26e3//doc/build/html/ : SUCCESS in 51s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-pep8/a26ee01/ : SUCCESS in 1m 03s\n- gate-python-swiftclient-python27 http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-python27/6027453/ : SUCCESS in 56s\n- gate-python-swiftclient-python34 http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-python34/f876a91/ : SUCCESS in 1m 41s\n- gate-python-swiftclient-pypy http://logs.openstack.org/83/160283/16/gate/gate-python-swiftclient-pypy/dbf7d7b/ : SUCCESS in 3m 32s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/83/160283/16/gate/gate-tempest-dsvm-neutron-src-python-swiftclient/8e0c1cb/ : SUCCESS in 44m 49s\n- gate-swift-dsvm-functional http://logs.openstack.org/83/160283/16/gate/gate-swift-dsvm-functional/457507a/ : SUCCESS in 37m 40s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/83/160283/16/gate/gate-swiftclient-dsvm-functional/ee08349/ : SUCCESS in 20m 46s","accounts_in_message":[],"_revision_number":16},{"id":"332b1ea9bd4472d38a8585634c93ebdd132ec267","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-11 06:21:42.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":16}],"current_revision_number":16,"current_revision":"d5d312774445b5a0445ac6a4cd77091fdc0da90e","revisions":{"6d5c8b7c52121d110c248ecf06abe9d70ed849a8":{"kind":"REWORK","_number":1,"created":"2015-03-02 10:17:12.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/1"}}},"commit":{"parents":[{"commit":"925c01ebfbdfb6478a3786f24a9572deae40f8f8","subject":"Merge \"Release connection after consuming the content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/925c01ebfbdfb6478a3786f24a9572deae40f8f8"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 10:16:28.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-directory\" and \"--output-no-prefix\" options\nto the \"download\" command.\n\nWhen given \"--output-directory\", client downloads objects to specific\ndirectory as appended option.\n\nWhen given \"--output-no-prefix\", client downloads objects without prefix\nstring.\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/6d5c8b7c52121d110c248ecf06abe9d70ed849a8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/6d5c8b7c52121d110c248ecf06abe9d70ed849a8"}]},"branch":"refs/heads/master"},"4ed958aaaf3b49ef2f948d3771178733d32249ac":{"kind":"REWORK","_number":2,"created":"2015-03-02 14:58:07.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/2"}}},"commit":{"parents":[{"commit":"925c01ebfbdfb6478a3786f24a9572deae40f8f8","subject":"Merge \"Release connection after consuming the content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/925c01ebfbdfb6478a3786f24a9572deae40f8f8"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 14:40:49.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-no-prefix\" options\nto the \"download\" command.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir\", client downloads objects to particular\ndirectory.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-no-prefix\", client downloads objects without \u003cno_prefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-no-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-no-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/4ed958aaaf3b49ef2f948d3771178733d32249ac"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/4ed958aaaf3b49ef2f948d3771178733d32249ac"}]},"branch":"refs/heads/master"},"eaa6fe9d850f64d3563b5d4075785c8afff61f9d":{"kind":"REWORK","_number":3,"created":"2015-03-03 08:10:58.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/3"}}},"commit":{"parents":[{"commit":"925c01ebfbdfb6478a3786f24a9572deae40f8f8","subject":"Merge \"Release connection after consuming the content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/925c01ebfbdfb6478a3786f24a9572deae40f8f8"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-03 08:10:38.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-no-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-no-prefix \u003cno_prefix\u003e\", client downloads objects without\n\u003cno_prefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-no-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-no-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/eaa6fe9d850f64d3563b5d4075785c8afff61f9d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/eaa6fe9d850f64d3563b5d4075785c8afff61f9d"}]},"branch":"refs/heads/master"},"25506f17e02f785f08f25236e66f4a642021d950":{"kind":"REWORK","_number":4,"created":"2015-03-03 15:19:09.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/4"}}},"commit":{"parents":[{"commit":"925c01ebfbdfb6478a3786f24a9572deae40f8f8","subject":"Merge \"Release connection after consuming the content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/925c01ebfbdfb6478a3786f24a9572deae40f8f8"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-03 15:18:29.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-no-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-no-prefix \u003cno_prefix\u003e\", client downloads objects without\n\u003cno_prefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-no-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-no-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/25506f17e02f785f08f25236e66f4a642021d950"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/25506f17e02f785f08f25236e66f4a642021d950"}]},"branch":"refs/heads/master"},"93a4a8932160c817a36e4c363d936a0e94e67bfd":{"kind":"REWORK","_number":5,"created":"2015-06-05 09:59:03.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/83/160283/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/5"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Christian Schwede","email":"cschwede@redhat.com","date":"2015-06-05 09:58:20.000000000","tz":0},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-no-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-no-prefix \u003cno_prefix\u003e\", client downloads objects without\n\u003cno_prefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-no-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-no-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/93a4a8932160c817a36e4c363d936a0e94e67bfd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/93a4a8932160c817a36e4c363d936a0e94e67bfd"}]},"branch":"refs/heads/master"},"45c0845206ee4b1ed7ff4e1018805bf79b00f4fd":{"kind":"REWORK","_number":6,"created":"2015-06-05 16:51:31.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/83/160283/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/6"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2015-06-05 16:45:16.000000000","tz":-420},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-no-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-no-prefix \u003cno_prefix\u003e\", client downloads objects without\n\u003cno_prefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-no-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-no-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/45c0845206ee4b1ed7ff4e1018805bf79b00f4fd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/45c0845206ee4b1ed7ff4e1018805bf79b00f4fd"}]},"branch":"refs/heads/master"},"479928bfb27d1f0f8e221c74536142bda29335e0":{"kind":"REWORK","_number":7,"created":"2015-06-07 17:18:26.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/7"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-06-07 17:17:54.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-no-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-no-prefix \u003cno_prefix\u003e\", client downloads objects without\n\u003cno_prefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-no-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-no-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/479928bfb27d1f0f8e221c74536142bda29335e0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/479928bfb27d1f0f8e221c74536142bda29335e0"}]},"branch":"refs/heads/master"},"9b2e6f74c3b2e4a4adab1b5fb3ed59c03e35bae9":{"kind":"REWORK","_number":8,"created":"2015-06-09 14:06:05.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/8"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-06-09 14:05:41.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-no-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-no-prefix \u003cno_prefix\u003e\", client downloads objects without\n\u003cno_prefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-no-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-no-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/9b2e6f74c3b2e4a4adab1b5fb3ed59c03e35bae9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/9b2e6f74c3b2e4a4adab1b5fb3ed59c03e35bae9"}]},"branch":"refs/heads/master"},"734e1bde0435bcfe5eb438c04043bddab4513c12":{"kind":"REWORK","_number":9,"created":"2015-06-10 13:32:53.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/9"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-06-10 13:31:14.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-remove-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-remove-prefix \u003cprefix\u003e\", client downloads objects without\n\u003cprefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-remove-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-remove-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/734e1bde0435bcfe5eb438c04043bddab4513c12"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/734e1bde0435bcfe5eb438c04043bddab4513c12"}]},"branch":"refs/heads/master"},"6597a9de5376e244b34285aa1b3c9b4d2e10be74":{"kind":"REWORK","_number":10,"created":"2015-06-10 19:15:09.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/10"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-06-10 19:14:42.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-remove-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-remove-prefix \u003cprefix\u003e\", client downloads objects without\n\u003cprefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-remove-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nOr you can download single file without its prefix, like below:\n\n    $ swift download example swift2.2/bin/swift-object-info \\\n                    --output-remove-prefix swift2.2/bin/\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/6597a9de5376e244b34285aa1b3c9b4d2e10be74"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/6597a9de5376e244b34285aa1b3c9b4d2e10be74"}]},"branch":"refs/heads/master"},"6c2d29a866cf1e49bf2e517b01b0a3fe303373fe":{"kind":"NO_CODE_CHANGE","_number":11,"created":"2015-06-11 01:36:27.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/11"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-06-11 01:35:14.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-remove-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-remove-prefix \u003cprefix\u003e\", client downloads objects without\n\u003cprefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-remove-prefix swift2.2/bin/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        ├── swift-object-auditor\n        ├── swift-object-expirer\n        ├── swift-object-info\n        ├── swift-object-replicator\n        ├── swift-object-server\n        └── swift-object-updater\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/6c2d29a866cf1e49bf2e517b01b0a3fe303373fe"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/6c2d29a866cf1e49bf2e517b01b0a3fe303373fe"}]},"branch":"refs/heads/master"},"a7647f74e0a610fc0cd98b9fbc14b4eae811c8e6":{"kind":"REWORK","_number":12,"created":"2015-06-29 23:00:16.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/83/160283/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/12"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2015-06-29 22:58:54.000000000","tz":-420},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-remove-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--output-remove-prefix \u003cprefix\u003e\", client downloads objects without\n\u003cprefix\u003e.\n\n    $ swift download example --prefix swift2.2/bin/ \\\n                    --output-remove-prefix swift2.2/ \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        └── bin\n            ├── swift-object-auditor\n            ├── swift-object-expirer\n            ├── swift-object-info\n            ├── swift-object-replicator\n            ├── swift-object-server\n            └── swift-object-updater\n\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/a7647f74e0a610fc0cd98b9fbc14b4eae811c8e6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/a7647f74e0a610fc0cd98b9fbc14b4eae811c8e6"}]},"branch":"refs/heads/master"},"485626fa8e27f66093cc9a6b02abac7a4d4fe1f3":{"kind":"REWORK","_number":13,"created":"2015-07-07 13:04:05.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/13"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-07-07 12:59:01.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--output-remove-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--remove-prefix\", client downloads objects without \u003cprefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --remove-prefix \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        └── bin\n            ├── swift-object-auditor\n            ├── swift-object-expirer\n            ├── swift-object-info\n            ├── swift-object-replicator\n            ├── swift-object-server\n            └── swift-object-updater\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/485626fa8e27f66093cc9a6b02abac7a4d4fe1f3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/485626fa8e27f66093cc9a6b02abac7a4d4fe1f3"}]},"branch":"refs/heads/master"},"115b60b33a1c3d2682c11c86ad3ebd6656e9a451":{"kind":"NO_CODE_CHANGE","_number":14,"created":"2015-07-07 13:05:37.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/14"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-07-07 13:04:59.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--remove-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--remove-prefix\", client downloads objects without \u003cprefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --remove-prefix \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        └── bin\n            ├── swift-object-auditor\n            ├── swift-object-expirer\n            ├── swift-object-info\n            ├── swift-object-replicator\n            ├── swift-object-server\n            └── swift-object-updater\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/115b60b33a1c3d2682c11c86ad3ebd6656e9a451"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/115b60b33a1c3d2682c11c86ad3ebd6656e9a451"}]},"branch":"refs/heads/master"},"e10a8254cb78bcbf66e19a94941a0fac45188535":{"kind":"REWORK","_number":15,"created":"2015-07-08 05:18:49.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/15"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-07-08 05:18:32.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--remove-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--remove-prefix\", client downloads objects without \u003cprefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --remove-prefix \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        └── bin\n            ├── swift-object-auditor\n            ├── swift-object-expirer\n            ├── swift-object-info\n            ├── swift-object-replicator\n            ├── swift-object-server\n            └── swift-object-updater\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/e10a8254cb78bcbf66e19a94941a0fac45188535"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/e10a8254cb78bcbf66e19a94941a0fac45188535"}]},"branch":"refs/heads/master"},"d5d312774445b5a0445ac6a4cd77091fdc0da90e":{"kind":"REWORK","_number":16,"created":"2015-07-08 06:23:25.000000000","uploader":{"_account_id":12050,"name":"Charles Hsu","email":"charles0126@gmail.com","username":"charz"},"ref":"refs/changes/83/160283/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/83/160283/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/83/160283/16"}}},"commit":{"parents":[{"commit":"ec3e2ab3a099b1276ae5d87fda936567f64423dc","subject":"Merge \"Allow reading from object body on download\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ec3e2ab3a099b1276ae5d87fda936567f64423dc"}]}],"author":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-03-02 09:54:05.000000000","tz":480},"committer":{"name":"Charles Hsu","email":"charles0126@gmail.com","date":"2015-07-08 06:23:05.000000000","tz":480},"subject":"Add ability to download objects to particular folder.","message":"Add ability to download objects to particular folder.\n\nThis patch adds \"--output-dir\" and \"--remove-prefix\" options\nto the \"download\" command and unit tests for it.\n\nExample:\n\n    $ swift list example --prefix swift2.2\n    swift2.2/bin/swift-object-auditor\n    swift2.2/bin/swift-object-expirer\n    swift2.2/bin/swift-object-info\n    swift2.2/bin/swift-object-replicator\n    swift2.2/bin/swift-object-server\n    swift2.2/bin/swift-object-updater\n\nWhen given \"--output-dir \u003cdirectory\u003e\", client downloads objects to \u003cdirectory\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --output-dir new/swift/dir\n\n    The folder structure:\n    .\n    └── new\n        └── swift\n            └── dir\n                └── swift2.2\n                    └── bin\n                        ├── swift-object-auditor\n                        ├── swift-object-expirer\n                        ├── swift-object-info\n                        ├── swift-object-replicator\n                        ├── swift-object-server\n                        └── swift-object-updater\n\nWhen given \"--remove-prefix\", client downloads objects without \u003cprefix\u003e.\n\n    $ swift download example --prefix swift2.2 \\\n                    --remove-prefix \\\n                    --output-dir swift\n\n    The folder structure:\n    .\n    └── swift\n        └── bin\n            ├── swift-object-auditor\n            ├── swift-object-expirer\n            ├── swift-object-info\n            ├── swift-object-replicator\n            ├── swift-object-server\n            └── swift-object-updater\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I7463fe2941cc94f9a50a4756a97c2ccdf946294d\nImplements: blueprint swiftclient-download-pseudo-folder-to-specific-target\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/d5d312774445b5a0445ac6a4cd77091fdc0da90e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/d5d312774445b5a0445ac6a4cd77091fdc0da90e"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
