)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0eb85faf2edd47d0f8381ce0f495fad52d7e4c3d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Isaku Yamahata \u003cisaku.yamahata@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-12-16 16:21:08 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Neutron: don\u0027t readds classes that is already in Q_SERVICE_PLUGIN_CLASSES"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Neutron plugin can re-add service plugin class to Q_SERVICE_PLUGIN_CLASSES"},{"line_number":10,"context_line":"to cause duplicated class. It results in the error when starting neutron"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAATn%2F9J58%3D","line":7,"updated":"2013-12-16 08:34:49.000000000","message":"It is better to describe what this patch does. How about \"Define a utility function to add neutron service class\"?","commit_id":"6beecbbe797ffded5e7d1cba4a79090e945a4069"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"369a7b6271ad6c54a91272859a5d374be0c07e63","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Isaku Yamahata \u003cisaku.yamahata@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-12-16 16:21:08 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Neutron: don\u0027t readds classes that is already in Q_SERVICE_PLUGIN_CLASSES"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Neutron plugin can re-add service plugin class to Q_SERVICE_PLUGIN_CLASSES"},{"line_number":10,"context_line":"to cause duplicated class. It results in the error when starting neutron"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAATn%2F9EhU%3D","line":7,"in_reply_to":"AAAATn%2F9J58%3D","updated":"2013-12-17 03:38:28.000000000","message":"Done","commit_id":"6beecbbe797ffded5e7d1cba4a79090e945a4069"}],"lib/neutron":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0eb85faf2edd47d0f8381ce0f495fad52d7e4c3d","unresolved":false,"context_lines":[{"line_number":241,"context_line":"# ---------"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"# neutron_service_plugin_class_add()"},{"line_number":244,"context_line":"# enable service plugin class"},{"line_number":245,"context_line":"function neutron_service_plugin_class_add() {"},{"line_number":246,"context_line":"    local service_plugin_class\u003d$1"},{"line_number":247,"context_line":"    if [[ $Q_SERVICE_PLUGIN_CLASSES \u003d\u003d \u0027\u0027 ]]; then"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAATn%2F9J5o%3D","line":244,"updated":"2013-12-16 08:34:49.000000000","message":"The description does not seem correct. This function just adds a class to the list of service plugins.","commit_id":"6beecbbe797ffded5e7d1cba4a79090e945a4069"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"369a7b6271ad6c54a91272859a5d374be0c07e63","unresolved":false,"context_lines":[{"line_number":241,"context_line":"# ---------"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"# neutron_service_plugin_class_add()"},{"line_number":244,"context_line":"# enable service plugin class"},{"line_number":245,"context_line":"function neutron_service_plugin_class_add() {"},{"line_number":246,"context_line":"    local service_plugin_class\u003d$1"},{"line_number":247,"context_line":"    if [[ $Q_SERVICE_PLUGIN_CLASSES \u003d\u003d \u0027\u0027 ]]; then"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAATn%2F9EhA%3D","line":244,"in_reply_to":"AAAATn%2F9J5o%3D","updated":"2013-12-17 03:38:28.000000000","message":"Done","commit_id":"6beecbbe797ffded5e7d1cba4a79090e945a4069"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0eb85faf2edd47d0f8381ce0f495fad52d7e4c3d","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"# neutron_service_plugin_class_add()"},{"line_number":244,"context_line":"# enable service plugin class"},{"line_number":245,"context_line":"function neutron_service_plugin_class_add() {"},{"line_number":246,"context_line":"    local service_plugin_class\u003d$1"},{"line_number":247,"context_line":"    if [[ $Q_SERVICE_PLUGIN_CLASSES \u003d\u003d \u0027\u0027 ]]; then"},{"line_number":248,"context_line":"        Q_SERVICE_PLUGIN_CLASSES\u003d$service_plugin_class"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAATn%2F9J6E%3D","line":245,"updated":"2013-12-16 08:34:49.000000000","message":"This section \"Function\" defines public funcitons called from stack.sh. I think it is an internal function used in lib/neutron* so  it fits to \"Utility Functions\" below.\n\nI prefer to adding _ at the beginning of the function name.\n\nPlease keep in mind that functions are sorted in alphabetical order in each section unless there is no special reason.","commit_id":"6beecbbe797ffded5e7d1cba4a79090e945a4069"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"369a7b6271ad6c54a91272859a5d374be0c07e63","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"# neutron_service_plugin_class_add()"},{"line_number":244,"context_line":"# enable service plugin class"},{"line_number":245,"context_line":"function neutron_service_plugin_class_add() {"},{"line_number":246,"context_line":"    local service_plugin_class\u003d$1"},{"line_number":247,"context_line":"    if [[ $Q_SERVICE_PLUGIN_CLASSES \u003d\u003d \u0027\u0027 ]]; then"},{"line_number":248,"context_line":"        Q_SERVICE_PLUGIN_CLASSES\u003d$service_plugin_class"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAATn%2F9EgU%3D","line":245,"in_reply_to":"AAAATn%2F9J6E%3D","updated":"2013-12-17 03:38:28.000000000","message":"Done","commit_id":"6beecbbe797ffded5e7d1cba4a79090e945a4069"}]}
