)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"3f51c93445ddcfe08f936750401ce8653c7a89ad","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify a branch."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba15a1d1_ce458eb3","line":9,"updated":"2015-09-16 08:24:17.000000000","message":"Please, add some more details here. Why do we need this?","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"9d8a0981a11674fbd7ee091a3150d19dd572b634","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify a branch."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a2ca52d_c1057e7a","line":9,"in_reply_to":"5a2ca52d_152675ce","updated":"2015-10-15 02:44:59.000000000","message":"@Henry, +1.","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"2afa476530f389cc521ce3c36b3b9ce600a986b3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify a branch."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a2ca52d_152675ce","line":9,"in_reply_to":"ba15a1d1_ce458eb3","updated":"2015-10-14 12:21:05.000000000","message":"This is actually needed for https://bugs.launchpad.net/neutron/+bug/1503342","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"9d5bd0259f3597a8e57ca13d9ecf378938b8efa2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I00b00821839b0d77caaaf26b518c5c0c75e01218"},{"line_number":14,"context_line":"Related-Bug: 1503342"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a2ca52d_4a1dfe0d","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":11},"updated":"2015-10-15 07:59:22.000000000","message":"Why not Closes-bug?","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"ada100abf7757918c1c292569dafcd4e1456745c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I00b00821839b0d77caaaf26b518c5c0c75e01218"},{"line_number":14,"context_line":"Related-Bug: 1503342"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a2ca52d_48a39900","line":14,"in_reply_to":"5a2ca52d_38dece3f","updated":"2015-10-16 01:55:21.000000000","message":"+1, I\u0027ll fix.","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"d15b7c23ec4c0f6e96e392e5861b44b1dc06d47d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I00b00821839b0d77caaaf26b518c5c0c75e01218"},{"line_number":14,"context_line":"Related-Bug: 1503342"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a2ca52d_38dece3f","line":14,"in_reply_to":"5a2ca52d_4a1dfe0d","updated":"2015-10-15 14:11:08.000000000","message":"+1. This patch should fix that bug.","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"90cc5b15d5faf6af594cb4975c1ecb325d386778","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify a branch."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a2ca52d_89af6d29","line":9,"updated":"2015-10-16 06:47:12.000000000","message":"nit: This line is a little longer than 72 characters.","commit_id":"146f69babcc3f2c22c9edf855bca33bc90c7a883"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"a9862749c0e41cca0b548e365c1dd0fad1a7297c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify a branch."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a2ca52d_2c1bc774","line":9,"in_reply_to":"5a2ca52d_89af6d29","updated":"2015-10-16 06:57:02.000000000","message":"Oops. I\u0027ll fix.","commit_id":"146f69babcc3f2c22c9edf855bca33bc90c7a883"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e70bc7400b102e4d4f8de9658f62834bf261336f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yuji \u003cyuj-azama@rc.jp.nec.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-16 15:54:09 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify"},{"line_number":10,"context_line":"a branch."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a2ca52d_cfa1e547","line":7,"updated":"2015-10-16 08:01:00.000000000","message":"I would named it: \"Allow to specify branch for creating new migration\"","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"5ee987d9c48640f521b07ae2c9bfb864a6ea178e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yuji \u003cyuj-azama@rc.jp.nec.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-16 15:54:09 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify"},{"line_number":10,"context_line":"a branch."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a2ca52d_8bb98f17","line":7,"in_reply_to":"5a2ca52d_7e6f212b","updated":"2015-10-16 14:26:55.000000000","message":"I vote for Ann\u0027s version.","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"ca37d6cd31c442004df9dfe8f18c950f05a0a5f3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yuji \u003cyuj-azama@rc.jp.nec.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-16 15:54:09 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify"},{"line_number":10,"context_line":"a branch."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3a29b11f_57bdc366","line":7,"in_reply_to":"5a2ca52d_8bb98f17","updated":"2015-10-20 01:09:07.000000000","message":"Ann, +1.","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"d3fc8c1078d911cddd7bfcb4ba4bc16bdbe89027","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yuji \u003cyuj-azama@rc.jp.nec.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-16 15:54:09 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add head option to neutron-db-manage command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify"},{"line_number":10,"context_line":"a branch."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a2ca52d_7e6f212b","line":7,"in_reply_to":"5a2ca52d_cfa1e547","updated":"2015-10-16 09:56:44.000000000","message":"How about \" Adding --branch and head options for expand and contract branches\"","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"c208483188b7e55f9c3b61b9eb847b815dc5acf3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Allow to specify branch for creating new migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify"},{"line_number":10,"context_line":"a branch."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3a29b11f_fa513d0f","line":10,"updated":"2015-10-20 13:21:49.000000000","message":"Nit: Add options to \u0027neutron-db-manage revision\u0027 command for specifying a branch.","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"6a02d71a9e596cd22e5d4282b907b872463db73b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Allow to specify branch for creating new migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add head option to neutron-db-manage command for we can specify"},{"line_number":10,"context_line":"a branch."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3a29b11f_30100d59","line":10,"in_reply_to":"3a29b11f_fa513d0f","updated":"2015-10-21 08:20:06.000000000","message":"I\u0027ll fix.","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"}],"doc/source/devref/alembic_migrations.rst":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ac5fbb5b6933ac4d66e87b39968d2732523e6677","unresolved":false,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"In rare circumstances, you may want to start with an empty migration template"},{"line_number":170,"context_line":"and manually author the changes necessary for an upgrade.  You must specify a"},{"line_number":171,"context_line":"branche.  You can create a blank file via::"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":" neutron-db-manage revision expand -m \"description of revision\""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_1ab17ce1","line":171,"updated":"2015-09-16 10:04:41.000000000","message":"branch. Actually, now that --autogenerate feature is in the tree, I don\u0027t believe you ever want to generate a revision without using it.\n\nhttps://review.openstack.org/#/c/203842/","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"3f51c93445ddcfe08f936750401ce8653c7a89ad","unresolved":false,"context_lines":[{"line_number":170,"context_line":"and manually author the changes necessary for an upgrade.  You must specify a"},{"line_number":171,"context_line":"branche.  You can create a blank file via::"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":" neutron-db-manage revision expand -m \"description of revision\""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":176,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_8ee1d6d2","line":173,"range":{"start_line":173,"start_character":28,"end_line":173,"end_character":34},"updated":"2015-09-16 08:24:17.000000000","message":"We also have contract branch. What about it?","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"9d8a0981a11674fbd7ee091a3150d19dd572b634","unresolved":false,"context_lines":[{"line_number":170,"context_line":"and manually author the changes necessary for an upgrade.  You must specify a"},{"line_number":171,"context_line":"branche.  You can create a blank file via::"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":" neutron-db-manage revision expand -m \"description of revision\""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":176,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a2ca52d_a1396243","line":173,"in_reply_to":"5a2ca52d_1d00db00","updated":"2015-10-15 02:44:59.000000000","message":"I added example of contract to here in PS3.","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"2afa476530f389cc521ce3c36b3b9ce600a986b3","unresolved":false,"context_lines":[{"line_number":170,"context_line":"and manually author the changes necessary for an upgrade.  You must specify a"},{"line_number":171,"context_line":"branche.  You can create a blank file via::"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":" neutron-db-manage revision expand -m \"description of revision\""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":176,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a2ca52d_1d00db00","line":173,"in_reply_to":"ba15a1d1_8ee1d6d2","updated":"2015-10-14 12:21:05.000000000","message":"Yes, the revision command should have the option of specifying either expand or contract.","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"123c473937761b3e4683688082868da8940cc0f7","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"In rare circumstances, you may want to start with an empty migration template"},{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can specify a"},{"line_number":177,"context_line":"branche.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --head expand"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --head contract"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a2ca52d_6437d8e3","line":177,"updated":"2015-10-15 03:11:23.000000000","message":"branch","commit_id":"80d2dcb0fbbc24e3a26b0c82a72c37734df53e31"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"19544eb89e9bc678ddf252c7a88a414c2bcf6a65","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"In rare circumstances, you may want to start with an empty migration template"},{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can specify a"},{"line_number":177,"context_line":"branche.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --head expand"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --head contract"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a2ca52d_6774bace","line":177,"in_reply_to":"5a2ca52d_6437d8e3","updated":"2015-10-15 04:34:29.000000000","message":"Done","commit_id":"80d2dcb0fbbc24e3a26b0c82a72c37734df53e31"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"123c473937761b3e4683688082868da8940cc0f7","unresolved":false,"context_lines":[{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can specify a"},{"line_number":177,"context_line":"branche.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --head expand"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --head contract"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a2ca52d_2431e0ec","line":179,"updated":"2015-10-15 03:11:23.000000000","message":"expand@head?\n\nsee: http://alembic.readthedocs.org/en/latest/branches.html#working-with-branch-labels","commit_id":"80d2dcb0fbbc24e3a26b0c82a72c37734df53e31"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"19544eb89e9bc678ddf252c7a88a414c2bcf6a65","unresolved":false,"context_lines":[{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can specify a"},{"line_number":177,"context_line":"branche.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --head expand"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --head contract"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a2ca52d_a77172e2","line":179,"in_reply_to":"5a2ca52d_2431e0ec","updated":"2015-10-15 04:34:29.000000000","message":"Done","commit_id":"80d2dcb0fbbc24e3a26b0c82a72c37734df53e31"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"3381c3454ae00449956f2bc4a6d1a686f645e5dd","unresolved":false,"context_lines":[{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can specify a"},{"line_number":177,"context_line":"branch.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --head expand@head"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --head contract@head"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_bb80ab47","line":179,"updated":"2015-10-15 06:59:26.000000000","message":"IMO, \u0027--head\u0027 is sufficient and \u0027@head\u0027 is not required.","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"d15b7c23ec4c0f6e96e392e5861b44b1dc06d47d","unresolved":false,"context_lines":[{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can specify a"},{"line_number":177,"context_line":"branch.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --head expand@head"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --head contract@head"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_7890c643","line":179,"in_reply_to":"5a2ca52d_166e5695","updated":"2015-10-15 14:11:08.000000000","message":"Yes, since we are wrapping alembic and using head for a Neutron-specific purpose, I think --branch is a good name for the argument.","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"c5cc1ad2204c73226bb163faf432ac12dfc9c902","unresolved":false,"context_lines":[{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can specify a"},{"line_number":177,"context_line":"branch.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --head expand@head"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --head contract@head"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_166e5695","line":179,"in_reply_to":"5a2ca52d_bb80ab47","updated":"2015-10-15 07:40:08.000000000","message":"expand@head is the point for head revision in branch, so this is OK, but I think \"--head\" should be changed for \"--branch\"","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"3381c3454ae00449956f2bc4a6d1a686f645e5dd","unresolved":false,"context_lines":[{"line_number":177,"context_line":"branch.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --head expand@head"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --head contract@head"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":183,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_7b93f3a3","line":180,"updated":"2015-10-15 06:59:26.000000000","message":"ditto.","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"d3fc8c1078d911cddd7bfcb4ba4bc16bdbe89027","unresolved":false,"context_lines":[{"line_number":173,"context_line":"to ensure that the proper models have been altered."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"In rare circumstances, you may want to start with an empty migration template"},{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can specify a"},{"line_number":177,"context_line":"branch.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --branch expand@head"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5a2ca52d_7eb2c195","line":176,"updated":"2015-10-16 09:56:44.000000000","message":"How about merging the last 2 lines.. \"You can create a blank file for a branch via\"","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"5ee987d9c48640f521b07ae2c9bfb864a6ea178e","unresolved":false,"context_lines":[{"line_number":177,"context_line":"branch.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --branch expand@head"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --branch contract@head"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":183,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5a2ca52d_4be4d7df","line":180,"updated":"2015-10-16 14:26:55.000000000","message":"I think neutron-db-manage revision should should support only head. If the user wants to do alembic operations on revisions before head then they can use alembic directly. The value for the --branch option (which is a custom option for neutron-db-manage) should be only a branch name, and we only support two branches: expand and contract.","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"ca37d6cd31c442004df9dfe8f18c950f05a0a5f3","unresolved":false,"context_lines":[{"line_number":177,"context_line":"branch.  You can create a blank file via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --branch expand@head"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --branch contract@head"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":183,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a29b11f_97827b93","line":180,"in_reply_to":"5a2ca52d_4be4d7df","updated":"2015-10-20 01:09:07.000000000","message":"+1.","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"c208483188b7e55f9c3b61b9eb847b815dc5acf3","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"This generates a prepopulated template with the changes needed to match the"},{"line_number":172,"context_line":"database state with the models.  You should inspect the autogenerated template"},{"line_number":173,"context_line":"to ensure that the proper models have been altered."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"In rare circumstances, you may want to start with an empty migration template"},{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can create a"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a29b11f_9a360951","line":173,"updated":"2015-10-20 13:21:49.000000000","message":"I would like to see the following added here:\n\nWhen running the above command you will probably get the following error message::\n\n  Multiple heads are present; please specify the head revision on which the new revision should be based, or perform a merge.\n\nThis is alembic telling you that it does not know which branch (contract or expand) to generate the revision for. You must decide, based on whether you are doing contracting or expanding changes to the schema, and provide either the ``--contract`` or ``--expand`` option. If you have both types of changes, you must run the command twice, once with each option, and then manually edit the generated revision scripts to separate the migration operations.","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"6a02d71a9e596cd22e5d4282b907b872463db73b","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"This generates a prepopulated template with the changes needed to match the"},{"line_number":172,"context_line":"database state with the models.  You should inspect the autogenerated template"},{"line_number":173,"context_line":"to ensure that the proper models have been altered."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"In rare circumstances, you may want to start with an empty migration template"},{"line_number":176,"context_line":"and manually author the changes necessary for an upgrade.  You can create a"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a29b11f_903801f1","line":173,"in_reply_to":"3a29b11f_9a360951","updated":"2015-10-21 08:20:06.000000000","message":"+1.","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"a9214e2f4cf8a5817ae1b6834039fbae2e987d27","unresolved":false,"context_lines":[{"line_number":177,"context_line":"blank file for a branch via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --expand"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --contract"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":183,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a29b11f_a23bb0ea","line":180,"updated":"2015-10-20 06:46:30.000000000","message":"Please, add a note here that if you use this you should check that migration is created in a directory that is named as current release.","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"2eb37f841ceedb252eac7862faee824b575d3239","unresolved":false,"context_lines":[{"line_number":177,"context_line":"blank file for a branch via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --expand"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --contract"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":183,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a29b11f_fd6149a9","line":180,"in_reply_to":"3a29b11f_a23bb0ea","updated":"2015-10-20 06:59:05.000000000","message":"+1","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"6a02d71a9e596cd22e5d4282b907b872463db73b","unresolved":false,"context_lines":[{"line_number":177,"context_line":"blank file for a branch via::"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":" neutron-db-manage revision -m \"description of revision\" --expand"},{"line_number":180,"context_line":" neutron-db-manage revision -m \"description of revision\" --contract"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":183,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a29b11f_30424d69","line":180,"in_reply_to":"3a29b11f_fd6149a9","updated":"2015-10-21 08:20:06.000000000","message":"+1.","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"7aeb88aa26711c1555ab47d19200603fa730b31b","unresolved":false,"context_lines":[{"line_number":182,"context_line":"are doing contracting or expanding changes to the schema, and provide either"},{"line_number":183,"context_line":"the ``--contract`` or ``--expand`` option. If you have both types of changes,"},{"line_number":184,"context_line":"you must run the command twice, once with each option, and then manually edit"},{"line_number":185,"context_line":"the generated revision scripts to separate the migration operations."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"In rare circumstances, you may want to start with an empty migration template"},{"line_number":188,"context_line":"and manually author the changes necessary for an upgrade.  You can create a"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_a7b8222b","line":185,"updated":"2015-10-22 13:31:17.000000000","message":"It seems that this comment hints to the fact that this bug is fixed https://bugs.launchpad.net/neutron/+bug/1471333\n\nIt instead appears to be still open.","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"e63968ca406d3962919e25d2e88c2a70db6ebe2c","unresolved":false,"context_lines":[{"line_number":182,"context_line":"are doing contracting or expanding changes to the schema, and provide either"},{"line_number":183,"context_line":"the ``--contract`` or ``--expand`` option. If you have both types of changes,"},{"line_number":184,"context_line":"you must run the command twice, once with each option, and then manually edit"},{"line_number":185,"context_line":"the generated revision scripts to separate the migration operations."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"In rare circumstances, you may want to start with an empty migration template"},{"line_number":188,"context_line":"and manually author the changes necessary for an upgrade.  You can create a"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_5e0eb08c","line":185,"in_reply_to":"3a29b11f_a7b8222b","updated":"2015-10-22 15:52:57.000000000","message":"Yes, I need to go through and update all neutron\u0027s alembic related bugs.","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"a2166a3dfc6f96de2d62b42e188b8e42601801dd","unresolved":false,"context_lines":[{"line_number":188,"context_line":"and manually author the changes necessary for an upgrade.  You can create a"},{"line_number":189,"context_line":"blank file for a branch via::"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":" neutron-db-manage revision -m \"description of revision\" --expand"},{"line_number":192,"context_line":" neutron-db-manage revision -m \"description of revision\" --contract"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"**NOTE:** If you use above command you should check that migration is created"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_4b55d7f7","line":191,"updated":"2015-10-21 10:37:32.000000000","message":"How about --autogenerate option?","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"57fbbba1fcf1684954c35dcd94cb48d5979bf89c","unresolved":false,"context_lines":[{"line_number":188,"context_line":"and manually author the changes necessary for an upgrade.  You can create a"},{"line_number":189,"context_line":"blank file for a branch via::"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":" neutron-db-manage revision -m \"description of revision\" --expand"},{"line_number":192,"context_line":" neutron-db-manage revision -m \"description of revision\" --contract"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"**NOTE:** If you use above command you should check that migration is created"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_7c6f2d2b","line":191,"in_reply_to":"3a29b11f_4b55d7f7","updated":"2015-10-21 14:17:32.000000000","message":"--autogenerate is explained above.","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"bcb523e8948b9ad2ddcb255ee6323d97882e5d01","unresolved":false,"context_lines":[{"line_number":188,"context_line":"and manually author the changes necessary for an upgrade.  You can create a"},{"line_number":189,"context_line":"blank file for a branch via::"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":" neutron-db-manage revision -m \"description of revision\" --expand"},{"line_number":192,"context_line":" neutron-db-manage revision -m \"description of revision\" --contract"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"**NOTE:** If you use above command you should check that migration is created"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_cf4d49c5","line":191,"in_reply_to":"3a29b11f_7c6f2d2b","updated":"2015-10-22 05:32:39.000000000","message":"Ok","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"7aeb88aa26711c1555ab47d19200603fa730b31b","unresolved":false,"context_lines":[{"line_number":192,"context_line":" neutron-db-manage revision -m \"description of revision\" --contract"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"**NOTE:** If you use above command you should check that migration is created"},{"line_number":195,"context_line":"in a directory that is named as current release."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":198,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_074a3626","line":195,"updated":"2015-10-22 13:31:17.000000000","message":"and if not, what? If that does not happen there\u0027s probably a bug, in my opinion","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"e63968ca406d3962919e25d2e88c2a70db6ebe2c","unresolved":false,"context_lines":[{"line_number":192,"context_line":" neutron-db-manage revision -m \"description of revision\" --contract"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"**NOTE:** If you use above command you should check that migration is created"},{"line_number":195,"context_line":"in a directory that is named as current release."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"The timeline on each alembic branch should remain linear and not interleave"},{"line_number":198,"context_line":"with other branches, so that there is a clear path when upgrading. To verify"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a29b11f_fec77c93","line":195,"in_reply_to":"3a29b11f_074a3626","updated":"2015-10-22 15:52:57.000000000","message":"Will add a note.","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"}],"neutron/db/migration/cli.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"9e3464023e8b0aa4f6c434f6bf67c29907ed2a6d","unresolved":false,"context_lines":[{"line_number":340,"context_line":"    parser.set_defaults(func\u003ddo_stamp)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    parser \u003d add_alembic_subparser(subparsers, \u0027revision\u0027)"},{"line_number":343,"context_line":"    parser.add_argument(\u0027head\u0027)"},{"line_number":344,"context_line":"    parser.add_argument(\u0027-m\u0027, \u0027--message\u0027)"},{"line_number":345,"context_line":"    parser.add_argument(\u0027--autogenerate\u0027, action\u003d\u0027store_true\u0027)"},{"line_number":346,"context_line":"    parser.add_argument(\u0027--sql\u0027, action\u003d\u0027store_true\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_07726749","line":343,"updated":"2015-09-29 13:38:02.000000000","message":"are you adding this as positional without default value?\nI think an optional argument might be more suitable.","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"9d8a0981a11674fbd7ee091a3150d19dd572b634","unresolved":false,"context_lines":[{"line_number":340,"context_line":"    parser.set_defaults(func\u003ddo_stamp)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    parser \u003d add_alembic_subparser(subparsers, \u0027revision\u0027)"},{"line_number":343,"context_line":"    parser.add_argument(\u0027head\u0027)"},{"line_number":344,"context_line":"    parser.add_argument(\u0027-m\u0027, \u0027--message\u0027)"},{"line_number":345,"context_line":"    parser.add_argument(\u0027--autogenerate\u0027, action\u003d\u0027store_true\u0027)"},{"line_number":346,"context_line":"    parser.add_argument(\u0027--sql\u0027, action\u003d\u0027store_true\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_616a6a1c","line":343,"in_reply_to":"7a2fa921_ef49acd1","updated":"2015-10-15 02:44:59.000000000","message":"I changed to optional in PS3.","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"2f0ae7750d3e94b0779c95234d14f6ef785d9c48","unresolved":false,"context_lines":[{"line_number":340,"context_line":"    parser.set_defaults(func\u003ddo_stamp)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    parser \u003d add_alembic_subparser(subparsers, \u0027revision\u0027)"},{"line_number":343,"context_line":"    parser.add_argument(\u0027head\u0027)"},{"line_number":344,"context_line":"    parser.add_argument(\u0027-m\u0027, \u0027--message\u0027)"},{"line_number":345,"context_line":"    parser.add_argument(\u0027--autogenerate\u0027, action\u003d\u0027store_true\u0027)"},{"line_number":346,"context_line":"    parser.add_argument(\u0027--sql\u0027, action\u003d\u0027store_true\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a2fa921_ef49acd1","line":343,"in_reply_to":"9a1a9d01_07726749","updated":"2015-10-06 15:52:52.000000000","message":"It should be optional, and I believe the only choices needed here are expand and contract.","commit_id":"384b6605aa98adcc4cafad0aefd7a060dda68651"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"123c473937761b3e4683688082868da8940cc0f7","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                       message\u003dCONF.command.message,"},{"line_number":235,"context_line":"                       autogenerate\u003dCONF.command.autogenerate,"},{"line_number":236,"context_line":"                       sql\u003dCONF.command.sql,"},{"line_number":237,"context_line":"                       head\u003dCONF.command.head)"},{"line_number":238,"context_line":"    update_head_file(config)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_44c65c9b","line":237,"updated":"2015-10-15 03:11:23.000000000","message":"default value of \"head\" parameter is \u0027head\u0027, not None. (see: http://alembic.readthedocs.org/en/latest/api/commands.html#alembic.command.revision)\n\nmaybe, you shoudn\u0027t pass \"head\" if CONF.command.head is None. i.e.\n\n    kwargs \u003d {}\n    if CONF.command.head:\n        kwargs[\u0027head\u0027] \u003d CONF.command.head\n    do_alembic_command(config, cmd,....., **kwargs)","commit_id":"80d2dcb0fbbc24e3a26b0c82a72c37734df53e31"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"19544eb89e9bc678ddf252c7a88a414c2bcf6a65","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                       message\u003dCONF.command.message,"},{"line_number":235,"context_line":"                       autogenerate\u003dCONF.command.autogenerate,"},{"line_number":236,"context_line":"                       sql\u003dCONF.command.sql,"},{"line_number":237,"context_line":"                       head\u003dCONF.command.head)"},{"line_number":238,"context_line":"    update_head_file(config)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_478bbec3","line":237,"in_reply_to":"5a2ca52d_44c65c9b","updated":"2015-10-15 04:34:29.000000000","message":"Done","commit_id":"80d2dcb0fbbc24e3a26b0c82a72c37734df53e31"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"d15b7c23ec4c0f6e96e392e5861b44b1dc06d47d","unresolved":false,"context_lines":[{"line_number":413,"context_line":"    parser.set_defaults(func\u003ddo_stamp)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    parser \u003d add_alembic_subparser(subparsers, \u0027revision\u0027)"},{"line_number":416,"context_line":"    parser.add_argument(\u0027--head\u0027)"},{"line_number":417,"context_line":"    parser.add_argument(\u0027-m\u0027, \u0027--message\u0027)"},{"line_number":418,"context_line":"    parser.add_argument(\u0027--autogenerate\u0027, action\u003d\u0027store_true\u0027)"},{"line_number":419,"context_line":"    parser.add_argument(\u0027--sql\u0027, action\u003d\u0027store_true\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_2c9a0c64","line":416,"updated":"2015-10-15 14:11:08.000000000","message":"parser.add_argument(\u0027--branch\u0027, choices\u003dMIGRATION_BRANCHES)","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"ada100abf7757918c1c292569dafcd4e1456745c","unresolved":false,"context_lines":[{"line_number":413,"context_line":"    parser.set_defaults(func\u003ddo_stamp)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    parser \u003d add_alembic_subparser(subparsers, \u0027revision\u0027)"},{"line_number":416,"context_line":"    parser.add_argument(\u0027--head\u0027)"},{"line_number":417,"context_line":"    parser.add_argument(\u0027-m\u0027, \u0027--message\u0027)"},{"line_number":418,"context_line":"    parser.add_argument(\u0027--autogenerate\u0027, action\u003d\u0027store_true\u0027)"},{"line_number":419,"context_line":"    parser.add_argument(\u0027--sql\u0027, action\u003d\u0027store_true\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_720a037b","line":416,"in_reply_to":"5a2ca52d_2c9a0c64","updated":"2015-10-16 01:55:21.000000000","message":"I think choices shouldn\u0027t specify MIGRATION_BRANCHES. It might be specified other than \"@head\".","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"8dd3a7373e6db4d39f35472d5d0a161fe75c0278","unresolved":false,"context_lines":[{"line_number":413,"context_line":"    parser.set_defaults(func\u003ddo_stamp)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    parser \u003d add_alembic_subparser(subparsers, \u0027revision\u0027)"},{"line_number":416,"context_line":"    parser.add_argument(\u0027--head\u0027)"},{"line_number":417,"context_line":"    parser.add_argument(\u0027-m\u0027, \u0027--message\u0027)"},{"line_number":418,"context_line":"    parser.add_argument(\u0027--autogenerate\u0027, action\u003d\u0027store_true\u0027)"},{"line_number":419,"context_line":"    parser.add_argument(\u0027--sql\u0027, action\u003d\u0027store_true\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_d20bce22","line":416,"in_reply_to":"5a2ca52d_720a037b","updated":"2015-10-16 07:58:06.000000000","message":"Why? Migrations created only one after another we, so here can be only @head.","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"d3fc8c1078d911cddd7bfcb4ba4bc16bdbe89027","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    \u0027\u0027\u0027Generate new revision files, one per branch.\u0027\u0027\u0027"},{"line_number":233,"context_line":"    kwargs \u003d {}"},{"line_number":234,"context_line":"    if CONF.command.branch:"},{"line_number":235,"context_line":"        kwargs[\u0027head\u0027] \u003d CONF.command.branch"},{"line_number":236,"context_line":"    do_alembic_command(config, cmd,"},{"line_number":237,"context_line":"                       message\u003dCONF.command.message,"},{"line_number":238,"context_line":"                       autogenerate\u003dCONF.command.autogenerate,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a2ca52d_723995d6","line":235,"updated":"2015-10-16 09:56:44.000000000","message":"Just a query: We don\u0027t need to validate the user input. IMO, it MUST be eiter expand@head or contract@head?","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"84f1c0bf0f376a402828a4610f8bed2b7ba3cb7d","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    \u0027\u0027\u0027Generate new revision files, one per branch.\u0027\u0027\u0027"},{"line_number":233,"context_line":"    kwargs \u003d {}"},{"line_number":234,"context_line":"    if CONF.command.branch:"},{"line_number":235,"context_line":"        kwargs[\u0027head\u0027] \u003d CONF.command.branch"},{"line_number":236,"context_line":"    do_alembic_command(config, cmd,"},{"line_number":237,"context_line":"                       message\u003dCONF.command.message,"},{"line_number":238,"context_line":"                       autogenerate\u003dCONF.command.autogenerate,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a2ca52d_e1062dcd","line":235,"in_reply_to":"5a2ca52d_723995d6","updated":"2015-10-16 12:02:42.000000000","message":"I\u0027m not sure that we need it, because if it won\u0027t be @head creation just failed. But it will be good to add choices as was suggested in the 5th patch set.","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"5ee987d9c48640f521b07ae2c9bfb864a6ea178e","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    \u0027\u0027\u0027Generate new revision files, one per branch.\u0027\u0027\u0027"},{"line_number":233,"context_line":"    kwargs \u003d {}"},{"line_number":234,"context_line":"    if CONF.command.branch:"},{"line_number":235,"context_line":"        kwargs[\u0027head\u0027] \u003d CONF.command.branch"},{"line_number":236,"context_line":"    do_alembic_command(config, cmd,"},{"line_number":237,"context_line":"                       message\u003dCONF.command.message,"},{"line_number":238,"context_line":"                       autogenerate\u003dCONF.command.autogenerate,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a2ca52d_c639bed8","line":235,"in_reply_to":"5a2ca52d_e1062dcd","updated":"2015-10-16 14:26:55.000000000","message":"What Ann said.","commit_id":"a0f62804ade309c816d4d182535296c6ba4b1fad"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"0bbdf8c63c9aa79137e26ee54a458e5f0c609920","unresolved":false,"context_lines":[{"line_number":416,"context_line":"    parser.add_argument(\u0027-m\u0027, \u0027--message\u0027)"},{"line_number":417,"context_line":"    parser.add_argument(\u0027--autogenerate\u0027, action\u003d\u0027store_true\u0027)"},{"line_number":418,"context_line":"    parser.add_argument(\u0027--sql\u0027, action\u003d\u0027store_true\u0027)"},{"line_number":419,"context_line":"    parser.add_argument(\u0027--branch\u0027)"},{"line_number":420,"context_line":"    parser.set_defaults(func\u003ddo_revision)"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_48052478","line":419,"updated":"2015-10-20 02:39:00.000000000","message":"Sorry for noticing this so late. I think we should be consistent and have the same format as upgrade: --expand and --contract. Take lines 400-402 and make a helper function \u0027add_branch_options(parser)\u0027 to reuse here.","commit_id":"eac120fb16f4889f7080b98e3e1821e85b713080"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"7aeb88aa26711c1555ab47d19200603fa730b31b","unresolved":false,"context_lines":[{"line_number":240,"context_line":"    if CONF.command.expand:"},{"line_number":241,"context_line":"        kwargs[\u0027head\u0027] \u003d \u0027expand@head\u0027"},{"line_number":242,"context_line":"    elif CONF.command.contract:"},{"line_number":243,"context_line":"        kwargs[\u0027head\u0027] \u003d \u0027contract@head\u0027"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    do_alembic_command(config, cmd,"},{"line_number":246,"context_line":"                       message\u003dCONF.command.message,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_2725f25a","line":243,"updated":"2015-10-22 13:31:17.000000000","message":"I\u0027ve seen the discussion on pset 3 that lead to introduction of kwargs.\nEven if I do not 100% agree with the suggestion given, I am ok with using kwargs, but I also suggest that we should be consistent - either use kwargs for all kw params, or for none. So perhaps message, autogenerate, and sql should be added to kwargs as well.","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"e63968ca406d3962919e25d2e88c2a70db6ebe2c","unresolved":false,"context_lines":[{"line_number":240,"context_line":"    if CONF.command.expand:"},{"line_number":241,"context_line":"        kwargs[\u0027head\u0027] \u003d \u0027expand@head\u0027"},{"line_number":242,"context_line":"    elif CONF.command.contract:"},{"line_number":243,"context_line":"        kwargs[\u0027head\u0027] \u003d \u0027contract@head\u0027"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    do_alembic_command(config, cmd,"},{"line_number":246,"context_line":"                       message\u003dCONF.command.message,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_1edcb871","line":243,"in_reply_to":"3a29b11f_2725f25a","updated":"2015-10-22 15:52:57.000000000","message":"Done","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"}],"neutron/tests/unit/db/test_migration.py":[{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"123c473937761b3e4683688082868da8940cc0f7","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                \u0027head\u0027: \u0027expand\u0027,"},{"line_number":221,"context_line":"            }]"},{"line_number":222,"context_line":"            self._main_test_helper("},{"line_number":223,"context_line":"                [\u0027prog\u0027, \u0027revision\u0027, \u0027expand\u0027, \u0027--autogenerate\u0027, \u0027-m\u0027,"},{"line_number":224,"context_line":"                 \u0027message\u0027],"},{"line_number":225,"context_line":"                \u0027revision\u0027,"},{"line_number":226,"context_line":"                expected_kwargs"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_c406eccd","line":223,"updated":"2015-10-15 03:11:23.000000000","message":"maybe head should not be set, when --autogenerate is used.","commit_id":"80d2dcb0fbbc24e3a26b0c82a72c37734df53e31"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"19544eb89e9bc678ddf252c7a88a414c2bcf6a65","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                \u0027head\u0027: \u0027expand\u0027,"},{"line_number":221,"context_line":"            }]"},{"line_number":222,"context_line":"            self._main_test_helper("},{"line_number":223,"context_line":"                [\u0027prog\u0027, \u0027revision\u0027, \u0027expand\u0027, \u0027--autogenerate\u0027, \u0027-m\u0027,"},{"line_number":224,"context_line":"                 \u0027message\u0027],"},{"line_number":225,"context_line":"                \u0027revision\u0027,"},{"line_number":226,"context_line":"                expected_kwargs"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_e74e8a95","line":223,"in_reply_to":"5a2ca52d_c406eccd","updated":"2015-10-15 04:34:29.000000000","message":"I fixed it in SP4.","commit_id":"80d2dcb0fbbc24e3a26b0c82a72c37734df53e31"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"3381c3454ae00449956f2bc4a6d1a686f645e5dd","unresolved":false,"context_lines":[{"line_number":217,"context_line":"                mock.patch(\u0027os.path.exists\u0027).start()"},{"line_number":218,"context_line":"            expected_kwargs \u003d [{"},{"line_number":219,"context_line":"                \u0027message\u0027: \u0027message\u0027, \u0027sql\u0027: False, \u0027autogenerate\u0027: True,"},{"line_number":220,"context_line":"                \u0027head\u0027: \u0027expand@head\u0027,"},{"line_number":221,"context_line":"            }]"},{"line_number":222,"context_line":"            self._main_test_helper("},{"line_number":223,"context_line":"                [\u0027prog\u0027, \u0027revision\u0027, \u0027--autogenerate\u0027, \u0027-m\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_fbedc325","line":220,"updated":"2015-10-15 06:59:26.000000000","message":"not sure about \u0027@head\u0027","commit_id":"462d1b221c06007ff8bf1249d940e78e3ad04c45"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"a9214e2f4cf8a5817ae1b6834039fbae2e987d27","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            }]"},{"line_number":222,"context_line":"            self._main_test_helper("},{"line_number":223,"context_line":"                [\u0027prog\u0027, \u0027revision\u0027, \u0027--autogenerate\u0027, \u0027-m\u0027,"},{"line_number":224,"context_line":"                 \u0027message\u0027, \u0027--expand\u0027],"},{"line_number":225,"context_line":"                \u0027revision\u0027,"},{"line_number":226,"context_line":"                expected_kwargs"},{"line_number":227,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a29b11f_825a344f","line":224,"updated":"2015-10-20 06:46:30.000000000","message":"I would prefer this to be separate case for testing, as \u0027--autogenerate\u0027 can be used without branch specification.","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"669ef51a5f0b5b955389c0f273502cbfa8ef2f82","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            }]"},{"line_number":222,"context_line":"            self._main_test_helper("},{"line_number":223,"context_line":"                [\u0027prog\u0027, \u0027revision\u0027, \u0027--autogenerate\u0027, \u0027-m\u0027,"},{"line_number":224,"context_line":"                 \u0027message\u0027, \u0027--expand\u0027],"},{"line_number":225,"context_line":"                \u0027revision\u0027,"},{"line_number":226,"context_line":"                expected_kwargs"},{"line_number":227,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a29b11f_f8da89e7","line":224,"in_reply_to":"3a29b11f_825a344f","updated":"2015-10-21 00:27:54.000000000","message":"+1.\nAnd please add a test case for --contract as well.\nBetter to test both features","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":15326,"name":"Yuji Azama","email":"yuj-azama@rc.jp.nec.com","username":"Yuji"},"change_message_id":"6a02d71a9e596cd22e5d4282b907b872463db73b","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            }]"},{"line_number":222,"context_line":"            self._main_test_helper("},{"line_number":223,"context_line":"                [\u0027prog\u0027, \u0027revision\u0027, \u0027--autogenerate\u0027, \u0027-m\u0027,"},{"line_number":224,"context_line":"                 \u0027message\u0027, \u0027--expand\u0027],"},{"line_number":225,"context_line":"                \u0027revision\u0027,"},{"line_number":226,"context_line":"                expected_kwargs"},{"line_number":227,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a29b11f_d0019907","line":224,"in_reply_to":"3a29b11f_f8da89e7","updated":"2015-10-21 08:20:06.000000000","message":"+1. I\u0027ll fix.","commit_id":"c3e264af8da1eff91974de95c3e578e31daf6877"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e72c72666b22713abab4ef27703082bb1aaf8442","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                \u0027revision\u0027,"},{"line_number":236,"context_line":"                expected_kwargs"},{"line_number":237,"context_line":"            )"},{"line_number":238,"context_line":"            self.assertEqual(len(self.projects), update.call_count)"},{"line_number":239,"context_line":"            update.reset_mock()"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"            for kwarg in expected_kwargs:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_ea5061d6","line":238,"range":{"start_line":238,"start_character":16,"end_line":238,"end_character":17},"updated":"2015-10-21 09:49:24.000000000","message":"There should be also a case for --autogenerate and --expand/contract usage together.","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"e63968ca406d3962919e25d2e88c2a70db6ebe2c","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                \u0027revision\u0027,"},{"line_number":236,"context_line":"                expected_kwargs"},{"line_number":237,"context_line":"            )"},{"line_number":238,"context_line":"            self.assertEqual(len(self.projects), update.call_count)"},{"line_number":239,"context_line":"            update.reset_mock()"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"            for kwarg in expected_kwargs:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_9bbc5abc","line":238,"in_reply_to":"3a29b11f_6763ea42","updated":"2015-10-22 15:52:57.000000000","message":"This is a fair cop. [1]\n\n[1] https://en.wiktionary.org/wiki/fair_cop","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"7aeb88aa26711c1555ab47d19200603fa730b31b","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                \u0027revision\u0027,"},{"line_number":236,"context_line":"                expected_kwargs"},{"line_number":237,"context_line":"            )"},{"line_number":238,"context_line":"            self.assertEqual(len(self.projects), update.call_count)"},{"line_number":239,"context_line":"            update.reset_mock()"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"            for kwarg in expected_kwargs:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_6763ea42","line":238,"in_reply_to":"3a29b11f_7c040d49","updated":"2015-10-22 13:31:17.000000000","message":"I would not make this a requirement.\nThe test matrix so fall is not complete anyway... what about --autogenerate with --sql or cases without -m option?\n\nIt\u0027s good to have them for the sake of completeness, but looking at code filling the code matrix here does not really increment coverage. These tests are actually testing that the do_alembic_command is called with the appropriate parameters, and since do_revision does very little before calling do_alembic_command they pretty much only ensure that developers do not mess with the do_revision CLI command.\n\nSo, fwiw, I\u0027d approve this patch as it is and then improve unit tests with a follow-up","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"57fbbba1fcf1684954c35dcd94cb48d5979bf89c","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                \u0027revision\u0027,"},{"line_number":236,"context_line":"                expected_kwargs"},{"line_number":237,"context_line":"            )"},{"line_number":238,"context_line":"            self.assertEqual(len(self.projects), update.call_count)"},{"line_number":239,"context_line":"            update.reset_mock()"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"            for kwarg in expected_kwargs:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_7c040d49","line":238,"in_reply_to":"3a29b11f_ea5061d6","updated":"2015-10-21 14:17:32.000000000","message":"Yuji can you add a couple of test cases for this? Ping me if you need help.","commit_id":"5f62038d6153494a3e6415f827af8fda2ae42f0b"}]}
