)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"593d6060171c6ad044e38103b6319f1386846292","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-06-15 13:44:38 +0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] Create multiple phases"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Idf191d79ce7794bbb5238bfed3218c416ceaf9b9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f231b9d_6403e4b9","line":8,"updated":"2017-06-14 06:48:14.000000000","message":"Could you elaborate what \"phases\" could be? I know you are working on supporting OSM in barbican, but please write down current progress of this patch.\n\nFurther more, is it easier to track if we could add a BP here?","commit_id":"815fe28da6b5637299b9b99abf332f74b512e074"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"3eb248910c8203166b05defa7439e36eb990a989","unresolved":false,"context_lines":[{"line_number":10,"context_line":"upgrading database. It is not suitable for Rolling"},{"line_number":11,"context_line":"upgrade feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"We need to split three phases:"},{"line_number":14,"context_line":"- Expand phase is to add columns or tables to database."},{"line_number":15,"context_line":"- Contract phase is delete columns or tables."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"5f93b717_90f06193","line":13,"range":{"start_line":13,"start_character":17,"end_line":13,"end_character":22},"updated":"2018-01-31 09:42:23.000000000","message":"two?","commit_id":"2413127c7c8a1bee604440e4a23a8d63458a92fe"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"d50431e7bc3acae3ed8de4c3aab1b30928765b28","unresolved":false,"context_lines":[{"line_number":10,"context_line":"upgrading database. It is not suitable for Rolling"},{"line_number":11,"context_line":"upgrade feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"We need to split three phases:"},{"line_number":14,"context_line":"- Expand phase is to add columns or tables to database."},{"line_number":15,"context_line":"- Contract phase is delete columns or tables."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"5f93b717_cb5aa181","line":13,"range":{"start_line":13,"start_character":17,"end_line":13,"end_character":22},"in_reply_to":"5f93b717_90f06193","updated":"2018-02-01 01:29:20.000000000","message":"done. thanks","commit_id":"2413127c7c8a1bee604440e4a23a8d63458a92fe"}],"barbican/cmd/barbican_manage.py":[{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"593d6060171c6ad044e38103b6319f1386846292","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    @args(\u0027--autogenerate\u0027, action\u003d\"store_true\", dest\u003d\u0027autogen\u0027,"},{"line_number":97,"context_line":"          default\u003dFalse, help\u003d\u0027autogenerate from models\u0027)"},{"line_number":98,"context_line":"    @args(\u0027--expand\u0027, action\u003d\"store_true\", dest\u003d\u0027expand\u0027, default\u003dFalse,"},{"line_number":99,"context_line":"          help\u003d\u0027run expand phase\u0027)"},{"line_number":100,"context_line":"    @args(\u0027--contract\u0027, action\u003d\"store_true\", dest\u003d\u0027contract\u0027, default\u003dFalse,"},{"line_number":101,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":102,"context_line":"    @args(\u0027--migrate\u0027, action\u003d\"store_true\", dest\u003d\u0027migrate\u0027, default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f231b9d_e4281435","line":99,"range":{"start_line":99,"start_character":16,"end_line":99,"end_character":32},"updated":"2017-06-14 06:48:14.000000000","message":"should be \"Process expand phase in DB upgrading\"","commit_id":"815fe28da6b5637299b9b99abf332f74b512e074"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"593d6060171c6ad044e38103b6319f1386846292","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    @args(\u0027--expand\u0027, action\u003d\"store_true\", dest\u003d\u0027expand\u0027, default\u003dFalse,"},{"line_number":99,"context_line":"          help\u003d\u0027run expand phase\u0027)"},{"line_number":100,"context_line":"    @args(\u0027--contract\u0027, action\u003d\"store_true\", dest\u003d\u0027contract\u0027, default\u003dFalse,"},{"line_number":101,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":102,"context_line":"    @args(\u0027--migrate\u0027, action\u003d\"store_true\", dest\u003d\u0027migrate\u0027, default\u003dFalse,"},{"line_number":103,"context_line":"          help\u003d\u0027run migrate phase\u0027)"},{"line_number":104,"context_line":"    def revision(self, dburl\u003dNone, message\u003dNone, autogen\u003dNone, expand\u003dNone,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f231b9d_a4221c51","line":101,"range":{"start_line":101,"start_character":16,"end_line":101,"end_character":34},"updated":"2017-06-14 06:48:14.000000000","message":"ditto","commit_id":"815fe28da6b5637299b9b99abf332f74b512e074"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"593d6060171c6ad044e38103b6319f1386846292","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    @args(\u0027--contract\u0027, action\u003d\"store_true\", dest\u003d\u0027contract\u0027, default\u003dFalse,"},{"line_number":101,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":102,"context_line":"    @args(\u0027--migrate\u0027, action\u003d\"store_true\", dest\u003d\u0027migrate\u0027, default\u003dFalse,"},{"line_number":103,"context_line":"          help\u003d\u0027run migrate phase\u0027)"},{"line_number":104,"context_line":"    def revision(self, dburl\u003dNone, message\u003dNone, autogen\u003dNone, expand\u003dNone,"},{"line_number":105,"context_line":"                 contract\u003dNone, migrate\u003dNone):"},{"line_number":106,"context_line":"        \"\"\"Process the \u0027revision\u0027 Alembic command.\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7f231b9d_841de010","line":103,"range":{"start_line":103,"start_character":16,"end_line":103,"end_character":33},"updated":"2017-06-14 06:48:14.000000000","message":"ditto","commit_id":"815fe28da6b5637299b9b99abf332f74b512e074"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"593d6060171c6ad044e38103b6319f1386846292","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def revision(self, dburl\u003dNone, message\u003dNone, autogen\u003dNone, expand\u003dNone,"},{"line_number":105,"context_line":"                 contract\u003dNone, migrate\u003dNone):"},{"line_number":106,"context_line":"        \"\"\"Process the \u0027revision\u0027 Alembic command.\"\"\""},{"line_number":107,"context_line":"        if dburl is None:"},{"line_number":108,"context_line":"            sql_connect \u003d CONF.sql_connection"},{"line_number":109,"context_line":"        else:"},{"line_number":110,"context_line":"            sql_connect \u003d str(dburl)"},{"line_number":111,"context_line":"        if expand is True:"},{"line_number":112,"context_line":"            commands.expand(autogenerate\u003dautogen, message\u003dstr(message),"},{"line_number":113,"context_line":"                            sql_url\u003dsql_connect)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f231b9d_24d4cc1f","line":110,"range":{"start_line":107,"start_character":8,"end_line":110,"end_character":36},"updated":"2017-06-14 06:48:14.000000000","message":"shorten version: \n\nsql_connect \u003d str(dburl) if dburl else CONF.sql_connection","commit_id":"815fe28da6b5637299b9b99abf332f74b512e074"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"593d6060171c6ad044e38103b6319f1386846292","unresolved":false,"context_lines":[{"line_number":108,"context_line":"            sql_connect \u003d CONF.sql_connection"},{"line_number":109,"context_line":"        else:"},{"line_number":110,"context_line":"            sql_connect \u003d str(dburl)"},{"line_number":111,"context_line":"        if expand is True:"},{"line_number":112,"context_line":"            commands.expand(autogenerate\u003dautogen, message\u003dstr(message),"},{"line_number":113,"context_line":"                            sql_url\u003dsql_connect)"},{"line_number":114,"context_line":"        elif contract is True:"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f231b9d_04d79025","line":111,"range":{"start_line":111,"start_character":8,"end_line":111,"end_character":26},"updated":"2017-06-14 06:48:14.000000000","message":"if expand:","commit_id":"815fe28da6b5637299b9b99abf332f74b512e074"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"593d6060171c6ad044e38103b6319f1386846292","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            commands.migrate(autogenerate\u003dautogen, message\u003dstr(message),"},{"line_number":119,"context_line":"                             sql_url\u003dsql_connect)"},{"line_number":120,"context_line":"        else:"},{"line_number":121,"context_line":"            raise SystemExit(\u0027You must provide a option like --expand or\u0027"},{"line_number":122,"context_line":"                             \u0027--contract or --migrate\u0027)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    upgrade_description \u003d \"Upgrade to a future database version\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7f231b9d_c4e078fd","line":121,"range":{"start_line":121,"start_character":47,"end_line":121,"end_character":48},"updated":"2017-06-14 06:48:14.000000000","message":"typo: an","commit_id":"815fe28da6b5637299b9b99abf332f74b512e074"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"16d76816b412e93f636d09ac55a27d829d5179d4","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    @args(\u0027--contract\u0027, action\u003d\"store_true\", dest\u003d\u0027contract\u0027, default\u003dFalse,"},{"line_number":101,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":102,"context_line":"    def revision(self, dburl\u003dNone, message\u003dNone, autogen\u003dNone, expand\u003dNone,"},{"line_number":103,"context_line":"                 contract\u003dNone, migrate\u003dNone):"},{"line_number":104,"context_line":"        \"\"\"Process the \u0027revision\u0027 Alembic command.\"\"\""},{"line_number":105,"context_line":"        if dburl is None:"},{"line_number":106,"context_line":"            sql_connect \u003d CONF.sql_connection"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f2577a7_d1629f3e","line":103,"range":{"start_line":103,"start_character":31,"end_line":103,"end_character":44},"updated":"2017-09-12 19:46:22.000000000","message":"Does this need an @args above? Also, it doesn\u0027t seem like it is used?","commit_id":"740dc43477d9335a238ebfe0022366c223e729c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"97513dfac49a05040c1de4db47586a44fa3821e9","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    @args(\u0027--contract\u0027, action\u003d\"store_true\", dest\u003d\u0027contract\u0027, default\u003dFalse,"},{"line_number":101,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":102,"context_line":"    def revision(self, dburl\u003dNone, message\u003dNone, autogen\u003dNone, expand\u003dNone,"},{"line_number":103,"context_line":"                 contract\u003dNone, migrate\u003dNone):"},{"line_number":104,"context_line":"        \"\"\"Process the \u0027revision\u0027 Alembic command.\"\"\""},{"line_number":105,"context_line":"        if dburl is None:"},{"line_number":106,"context_line":"            sql_connect \u003d CONF.sql_connection"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f93b717_13c3243a","line":103,"range":{"start_line":103,"start_character":32,"end_line":103,"end_character":39},"updated":"2018-01-30 03:20:59.000000000","message":"This param seems not used anywhere?","commit_id":"db644c5aa7b86be9a752423c733ca59f863ee1d5"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"de493bed90c22c3d7eb434c58c987d071efc5b3b","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    @args(\u0027--contract\u0027, action\u003d\"store_true\", dest\u003d\u0027contract\u0027, default\u003dFalse,"},{"line_number":101,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":102,"context_line":"    def revision(self, dburl\u003dNone, message\u003dNone, autogen\u003dNone, expand\u003dNone,"},{"line_number":103,"context_line":"                 contract\u003dNone, migrate\u003dNone):"},{"line_number":104,"context_line":"        \"\"\"Process the \u0027revision\u0027 Alembic command.\"\"\""},{"line_number":105,"context_line":"        if dburl is None:"},{"line_number":106,"context_line":"            sql_connect \u003d CONF.sql_connection"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f93b717_738708b7","line":103,"range":{"start_line":103,"start_character":32,"end_line":103,"end_character":39},"in_reply_to":"5f93b717_13c3243a","updated":"2018-01-30 03:39:17.000000000","message":"At the beginning of time, i thougt that it need three phases including expand, contract, migrate. But the migrate phase is not needed for now. I will remove this option in the next patch.","commit_id":"db644c5aa7b86be9a752423c733ca59f863ee1d5"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"a9abc6f9e57638304f38fa434f00b5b015304832","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    @args(\u0027--contract\u0027, action\u003d\"store_true\", dest\u003d\u0027contract\u0027, default\u003dFalse,"},{"line_number":101,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":102,"context_line":"    def revision(self, dburl\u003dNone, message\u003dNone, autogen\u003dNone, expand\u003dNone,"},{"line_number":103,"context_line":"                 contract\u003dNone, migrate\u003dNone):"},{"line_number":104,"context_line":"        \"\"\"Process the \u0027revision\u0027 Alembic command.\"\"\""},{"line_number":105,"context_line":"        if dburl is None:"},{"line_number":106,"context_line":"            sql_connect \u003d CONF.sql_connection"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f93b717_337bc0be","line":103,"range":{"start_line":103,"start_character":32,"end_line":103,"end_character":39},"in_reply_to":"5f93b717_738708b7","updated":"2018-01-30 03:41:18.000000000","message":"ok, revise commit message as well to reflect this.","commit_id":"db644c5aa7b86be9a752423c733ca59f863ee1d5"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"97513dfac49a05040c1de4db47586a44fa3821e9","unresolved":false,"context_lines":[{"line_number":129,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":130,"context_line":"    def upgrade(self, dburl\u003dNone, expand\u003dNone, contract\u003dNone, version\u003dNone):"},{"line_number":131,"context_line":"        \"\"\"Process the \u0027upgrade\u0027 Alembic command.\"\"\""},{"line_number":132,"context_line":"        if dburl is None:"},{"line_number":133,"context_line":"            if expand and not version:"},{"line_number":134,"context_line":"                commands.upgrade(phase\u003d\u0027expand\u0027, sql_url\u003dCONF.sql_connection)"},{"line_number":135,"context_line":"            elif contract and not version:"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f93b717_d307fc81","line":132,"range":{"start_line":132,"start_character":8,"end_line":132,"end_character":25},"updated":"2018-01-30 03:20:59.000000000","message":"Why not retrieve sql_url firstly, just like the upper function.\n\"\"\"\n        if dburl is None:\n            sql_connect \u003d CONF.sql_connection\n        else:\n            sql_connect \u003d str(dburl)\n\"\"\"","commit_id":"db644c5aa7b86be9a752423c733ca59f863ee1d5"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"de493bed90c22c3d7eb434c58c987d071efc5b3b","unresolved":false,"context_lines":[{"line_number":129,"context_line":"          help\u003d\u0027run contract phase\u0027)"},{"line_number":130,"context_line":"    def upgrade(self, dburl\u003dNone, expand\u003dNone, contract\u003dNone, version\u003dNone):"},{"line_number":131,"context_line":"        \"\"\"Process the \u0027upgrade\u0027 Alembic command.\"\"\""},{"line_number":132,"context_line":"        if dburl is None:"},{"line_number":133,"context_line":"            if expand and not version:"},{"line_number":134,"context_line":"                commands.upgrade(phase\u003d\u0027expand\u0027, sql_url\u003dCONF.sql_connection)"},{"line_number":135,"context_line":"            elif contract and not version:"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f93b717_13a9e422","line":132,"range":{"start_line":132,"start_character":8,"end_line":132,"end_character":25},"in_reply_to":"5f93b717_d307fc81","updated":"2018-01-30 03:39:17.000000000","message":"Yes, you are right.","commit_id":"db644c5aa7b86be9a752423c733ca59f863ee1d5"}],"barbican/cmd/db_manage.py":[{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"16d76816b412e93f636d09ac55a27d829d5179d4","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                                                   help\u003d\u0027Upgrade to a \u0027"},{"line_number":87,"context_line":"                                                   \u0027future version DB \u0027"},{"line_number":88,"context_line":"                                                   \u0027version file\u0027)"},{"line_number":89,"context_line":"        create_parser.add_argument(\u0027--version\u0027, \u0027-v\u0027, default\u003dNone,"},{"line_number":90,"context_line":"                                   help\u003d\u0027the version to upgrade to, or else \u0027"},{"line_number":91,"context_line":"                                        \u0027the latest/head if not specified.\u0027)"},{"line_number":92,"context_line":"        create_parser.set_defaults(func\u003dself.upgrade)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f2577a7_3120c3b0","line":89,"range":{"start_line":89,"start_character":62,"end_line":89,"end_character":66},"updated":"2017-09-12 19:46:22.000000000","message":"Was there a reason this was changed?  And if it needs to be changed, should the help text be updated?","commit_id":"740dc43477d9335a238ebfe0022366c223e729c6"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"97513dfac49a05040c1de4db47586a44fa3821e9","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                                                   help\u003d\u0027Upgrade to a \u0027"},{"line_number":78,"context_line":"                                                   \u0027future version DB \u0027"},{"line_number":79,"context_line":"                                                   \u0027version file\u0027)"},{"line_number":80,"context_line":"        create_parser.add_argument(\u0027--version\u0027, \u0027-v\u0027,"},{"line_number":81,"context_line":"                                   help\u003d\u0027The version to upgrade to, or else \u0027"},{"line_number":82,"context_line":"                                        \u0027the latest/head if not specified.\u0027)"},{"line_number":83,"context_line":"        self.add_branch_options(create_parser)"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f93b717_73f8687a","line":80,"range":{"start_line":80,"start_character":38,"end_line":80,"end_character":45},"updated":"2018-01-30 03:20:59.000000000","message":"What\u0027s the intention of removing default value? Shouldn\u0027t the help message be changed as well?","commit_id":"db644c5aa7b86be9a752423c733ca59f863ee1d5"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"33606f13088886c50ca5568ef1a227a20e777c7e","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                                                   help\u003d\u0027Upgrade to a \u0027"},{"line_number":78,"context_line":"                                                   \u0027future version DB \u0027"},{"line_number":79,"context_line":"                                                   \u0027version file\u0027)"},{"line_number":80,"context_line":"        create_parser.add_argument(\u0027--version\u0027, \u0027-v\u0027,"},{"line_number":81,"context_line":"                                   help\u003d\u0027The version to upgrade to, or else \u0027"},{"line_number":82,"context_line":"                                        \u0027the latest/head if not specified.\u0027)"},{"line_number":83,"context_line":"        self.add_branch_options(create_parser)"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f93b717_76ce1683","line":80,"range":{"start_line":80,"start_character":38,"end_line":80,"end_character":45},"in_reply_to":"5f93b717_73f8687a","updated":"2018-01-30 04:15:29.000000000","message":"thanks for your question, i will update the help message.\n\nWhy did i remove the default value? \n\nIn the future, rolling upgrade is implemented. During rolling upgrade, if operators forget --expand or --contract option to upgrade database then the command will become \"barbican-manage db upgrade\". \n\nThis is bad case because with the command then barbican will run expand phase and contract phase immediately \u003d\u003e The process of rolling upgrade will be broken.","commit_id":"db644c5aa7b86be9a752423c733ca59f863ee1d5"}]}
