)]}'
{"HACKING.rst":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"361f3b89571ab7d543a6423a87fee2d5f3ad31bf","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Bash Style Guidelines"},{"line_number":233,"context_line":"~~~~~~~~~~~~~~~~~~~~~"},{"line_number":234,"context_line":"Devstack defines a bash set of best practices for maintaining large"},{"line_number":235,"context_line":"collections of bash scripts. These should be considered as part of the"},{"line_number":236,"context_line":"review process."}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAATn%2F%2FZcA%3D","line":233,"updated":"2013-11-07 09:00:37.000000000","message":"Should be \u0027-\u0027 (dash) for second-level heading","commit_id":"9998b5bed345c6a6c4915ca814b036707e05617b"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"361f3b89571ab7d543a6423a87fee2d5f3ad31bf","unresolved":false,"context_lines":[{"line_number":239,"context_line":"small number of these rules are enforced)."},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"Whitespace Rules"},{"line_number":242,"context_line":"----------------"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"- lines should not include trailing whitespace"},{"line_number":245,"context_line":"- there should be no hard tabs in the file"}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAATn%2F%2FZb4%3D","line":242,"updated":"2013-11-07 09:00:37.000000000","message":"third level header should be \u0027~\u0027 (tilde), and below","commit_id":"9998b5bed345c6a6c4915ca814b036707e05617b"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"e70943d3575d896e95d525bebfeeb70ab1a6232b","unresolved":false,"context_lines":[{"line_number":249,"context_line":"Control Structure Rules"},{"line_number":250,"context_line":"-----------------------"},{"line_number":251,"context_line":"- then should be on the same line as the if"},{"line_number":252,"context_line":"- do should be on the same line as the for"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"Example::"},{"line_number":255,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAATn%2F%2Ff5I%3D","line":252,"updated":"2013-11-04 12:06:41.000000000","message":"I\u0027d use quotes around bash keywords here. Also, if we use \u0027then\u0027 and not \u0027the then\u0027, I\u0027d say \u0027if\u0027 and not \u0027the if\u0027.\n\n- \u0027then\u0027 should be on the same line as \u0027if\u0027","commit_id":"9998b5bed345c6a6c4915ca814b036707e05617b"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"361f3b89571ab7d543a6423a87fee2d5f3ad31bf","unresolved":false,"context_lines":[{"line_number":269,"context_line":""},{"line_number":270,"context_line":"Variables and Functions"},{"line_number":271,"context_line":"-----------------------"},{"line_number":272,"context_line":"- functions should be used whenever possible for clarity"},{"line_number":273,"context_line":"- functions should use ``local`` variables as much as possible to"},{"line_number":274,"context_line":"  ensure they are isolated from the rest of the environment"},{"line_number":275,"context_line":"- local variables should be lower case, global variables should be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAATn%2F%2FZbE%3D","line":272,"updated":"2013-11-07 09:00:37.000000000","message":"I don\u0027t want to over-emphasize using functions.\n* use functions to group like project code in the projects lib/ file\n* don\u0027t use functions when doing so would cause the explanation of the flow at that point to require reading the function to understand the calling code.  But don\u0027t duplicate too much code to meet this.  this is fairly subjective.","commit_id":"9998b5bed345c6a6c4915ca814b036707e05617b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c4611ea15319132a595930dedd97b114c0c820a0","unresolved":false,"context_lines":[{"line_number":249,"context_line":"Control Structure Rules"},{"line_number":250,"context_line":"-----------------------"},{"line_number":251,"context_line":"- then should be on the same line as the if"},{"line_number":252,"context_line":"- do should be on the same line as the for"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"Example::"},{"line_number":255,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAATn%2F%2Bjtg%3D","line":252,"updated":"2013-11-23 16:06:00.000000000","message":"bash keyword like \u0027then\u0027, \u0027if\u0027, \u0027do\u0027, \u0027for\u0027 is better to be quoted. It brings better readability.","commit_id":"6db28923263b1d99f03069ccac6126a13bac0b5e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c4611ea15319132a595930dedd97b114c0c820a0","unresolved":false,"context_lines":[{"line_number":252,"context_line":"- do should be on the same line as the for"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"Example::"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"  if [[ -r $TOP_DIR/local.conf ]]; then"},{"line_number":257,"context_line":"      LRC\u003d$(get_meta_section_files $TOP_DIR/local.conf local)"},{"line_number":258,"context_line":"      for lfile in $LRC; do"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAATn%2F%2BjtY%3D","line":255,"updated":"2013-11-23 16:06:00.000000000","message":"It is better the example follows \"variables and functions\" guideline.\n\n- use \u0027local\u0027\n- LRC should be lowercase","commit_id":"6db28923263b1d99f03069ccac6126a13bac0b5e"}]}
