)]}'
{"id":"openstack%2Fdevstack~55024","triplet_id":"openstack%2Fdevstack~master~Id2b750665871ebbeddf4694ba080c75d2f6f443e","project":"openstack/devstack","branch":"master","topic":"bash8","hashtags":[],"change_id":"Id2b750665871ebbeddf4694ba080c75d2f6f443e","subject":"Add hacking rules for shell scripts","status":"MERGED","created":"2013-11-02 13:52:35.000000000","updated":"2013-11-25 04:56:52.000000000","submitted":"2013-11-25 04:56:52.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e84d3de6b0fd38e7f0afcb30713fdec1c3f79f72","_number":55024,"virtual_id_number":55024,"owner":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2013-11-25 04:56:52.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"value":0,"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"_account_id":7051,"name":"Swapnil Kulkarni","email":"skulkarn@redhat.com","username":"swapnilkulkarni2608"},{"value":0,"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"date":"2013-11-23 16:06:00.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"value":2,"date":"2013-11-25 02:58:57.000000000","_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":1,"date":"2013-11-23 15:32:16.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7051,"name":"Swapnil Kulkarni","email":"skulkarn@redhat.com","username":"swapnilkulkarni2608"},{"value":0,"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"value":1,"date":"2013-11-25 02:58:57.000000000","_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"_account_id":7051,"name":"Swapnil Kulkarni","email":"skulkarn@redhat.com","username":"swapnilkulkarni2608"},{"value":0,"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"value":0,"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"_account_id":7051,"name":"Swapnil Kulkarni","email":"skulkarn@redhat.com","username":"swapnilkulkarni2608"},{"value":0,"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"_account_id":7051,"name":"Swapnil Kulkarni","email":"skulkarn@redhat.com","username":"swapnilkulkarni2608"},{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2013-11-04 12:06:41.000000000","updated_by":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"reviewer":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"state":"REVIEWER"},{"updated":"2013-11-23 15:32:16.000000000","updated_by":{"_account_id":7051,"name":"Swapnil Kulkarni","email":"skulkarn@redhat.com","username":"swapnilkulkarni2608"},"reviewer":{"_account_id":7051,"name":"Swapnil Kulkarni","email":"skulkarn@redhat.com","username":"swapnilkulkarni2608"},"state":"REVIEWER"},{"updated":"2013-11-23 16:06:00.000000000","updated_by":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"reviewer":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"state":"REVIEWER"},{"updated":"2013-11-25 02:58:57.000000000","updated_by":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"reviewer":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"state":"REVIEWER"},{"updated":"2013-11-25 04:56:52.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"022e592a1b5627dcef7da1b27b2e644992cdcffc","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-11-02 14:25:07.000000000","message":"Patch Set 1: Works for me\n\nBuild succeeded.\n\n- gate-devstack-bash8 http://logs.openstack.org/24/55024/1/check/gate-devstack-bash8/8077964 : SUCCESS in 5s\n- check-tempest-devstack-vm-full http://logs.openstack.org/24/55024/1/check/check-tempest-devstack-vm-full/4d335ba : SUCCESS in 32m 24s\n- check-tempest-devstack-vm-postgres-full http://logs.openstack.org/24/55024/1/check/check-tempest-devstack-vm-postgres-full/c8f399f : SUCCESS in 31m 26s\n- check-tempest-devstack-vm-neutron http://logs.openstack.org/24/55024/1/check/check-tempest-devstack-vm-neutron/bb64afc : SUCCESS in 20m 49s\n- gate-tempest-devstack-vm-large-ops http://logs.openstack.org/24/55024/1/check/gate-tempest-devstack-vm-large-ops/14e81b7 : SUCCESS in 18m 26s\n- gate-tempest-devstack-vm-neutron-large-ops http://logs.openstack.org/24/55024/1/check/gate-tempest-devstack-vm-neutron-large-ops/bdb8397 : FAILURE in 20m 39s (non-voting)\n- check-grenade-devstack-vm http://logs.openstack.org/24/55024/1/check/check-grenade-devstack-vm/216868f : SUCCESS in 24m 10s\n- check-swift-devstack-vm-functional http://logs.openstack.org/24/55024/1/check/check-swift-devstack-vm-functional/e798fe3 : SUCCESS in 13m 22s\n","accounts_in_message":[],"_revision_number":1},{"id":"e70943d3575d896e95d525bebfeeb70ab1a6232b","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2013-11-04 12:06:41.000000000","message":"Patch Set 1: Looks good to me, but someone else must approve\n\n(1 inline comment)\n\n","accounts_in_message":[],"_revision_number":1},{"id":"361f3b89571ab7d543a6423a87fee2d5f3ad31bf","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2013-11-07 09:00:37.000000000","message":"Patch Set 1: I would prefer that you didn\u0027t merge this\n\n(3 inline comments)\n\nThe only content comment is about the functions guidelines.  I\u0027ve resisted over-functionalizing things when doing so affects the readability of the code.","accounts_in_message":[],"_revision_number":1},{"id":"3319808e1844fd6d51704bfcd674c144a6092f37","author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"date":"2013-11-10 22:47:17.000000000","message":"Patch Set 1:\n\nfair, I\u0027ll updated that, and fix the RST levels. I also came across this when it was posted to hacker news last week - http://google-styleguide.googlecode.com/svn/trunk/shell.xml it might be worth a read through on the other rules which make sense, and we are close to implementing anyway.\n\nI still don\u0027t get why google likes 2 spaces for everything (they do it in their python style guide as well). That must be a sergey-ism from way back.","accounts_in_message":[],"_revision_number":1},{"id":"4b570e784be38477508117ad0d6f22389172fa0c","author":{"_account_id":9,"name":"LaunchpadSync","username":"launchpadsync"},"date":"2013-11-18 06:03:02.000000000","message":"Patch Set 1: Abandoned\n\ncode review expired after 1 week of no activity after a negative review, it can be restored using the `Restore Change` button under the Patch Set on the web interface","accounts_in_message":[],"_revision_number":1},{"id":"4bd23f4a5ecbbfba539ea71c067ab5833336d1cf","author":{"_account_id":9,"name":"LaunchpadSync","username":"launchpadsync"},"date":"2013-11-18 06:03:02.000000000","message":"Patch Set 1:\n\ncode review expired after 1 week of no activity after a negative review, it can be restored using the `Restore Change` button under the Patch Set on the web interface","accounts_in_message":[],"_revision_number":1},{"id":"fd2e5b4648fcb4202bac5f079aeb9db4db1db499","author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"date":"2013-11-22 17:22:26.000000000","message":"Patch Set 1: Restored\n\nrestore","accounts_in_message":[],"_revision_number":1},{"id":"0f2f555f0f622bfbe1d6662ee03124fb831fed36","author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"date":"2013-11-22 17:22:54.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"0a9bad38aa163122b39153e4326619fc36020886","author":{"_account_id":5494,"name":"Trivial Rebase","email":"trivial-rebase@review.openstack.org","username":"trivial-rebase"},"date":"2013-11-22 17:22:59.000000000","message":"Patch Set 2:\n\nNew patchset patch-id matches previous patchset, but commit message has changed.","accounts_in_message":[],"_revision_number":2},{"id":"4d8dead4b8785ba773dbc2770b4e0b7dc8f7a01e","author":{"_account_id":9009,"name":"Red Hat CI","email":"redhatci@redhat.com","username":"redhatci","tags":["SERVICE_USER"]},"date":"2013-11-22 17:29:49.000000000","message":"Patch Set 1:\n\nredhatci results for change 55024\n\nLogs at http://people.redhat.com/~iwienand/55024/\n\n- Patch set 1 | OSLAB RHEL64 : PASS\n- Patch set 1 | OSLAB Fedora 19 : PASS\n\nend","accounts_in_message":[],"_revision_number":1},{"id":"7a0ec1063a7c359144ded3b4d38219febe8c61ef","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-11-22 18:10:25.000000000","message":"Patch Set 2: Works for me\n\nBuild succeeded.\n\n- gate-devstack-bash8 http://logs.openstack.org/24/55024/2/check/gate-devstack-bash8/44ee017 : SUCCESS in 6s\n- check-tempest-devstack-vm-full http://logs.openstack.org/24/55024/2/check/check-tempest-devstack-vm-full/043ec07 : SUCCESS in 47m 28s\n- check-tempest-devstack-vm-postgres-full http://logs.openstack.org/24/55024/2/check/check-tempest-devstack-vm-postgres-full/13d32bc : SUCCESS in 32m 14s\n- check-tempest-devstack-vm-neutron http://logs.openstack.org/24/55024/2/check/check-tempest-devstack-vm-neutron/7e16ebe : SUCCESS in 34m 20s\n- gate-tempest-devstack-vm-large-ops http://logs.openstack.org/24/55024/2/check/gate-tempest-devstack-vm-large-ops/65d7570 : SUCCESS in 13m 49s\n- gate-tempest-devstack-vm-neutron-large-ops http://logs.openstack.org/24/55024/2/check/gate-tempest-devstack-vm-neutron-large-ops/323de5b : SUCCESS in 16m 12s (non-voting)\n- check-grenade-devstack-vm http://logs.openstack.org/24/55024/2/check/check-grenade-devstack-vm/2da62bc : SUCCESS in 23m 16s\n- check-swift-devstack-vm-functional http://logs.openstack.org/24/55024/2/check/check-swift-devstack-vm-functional/cab590c : SUCCESS in 10m 10s\n","accounts_in_message":[],"_revision_number":2},{"id":"5283183e9bebf0cda8fa093e61ef956e0e67a849","author":{"_account_id":7051,"name":"Swapnil Kulkarni","email":"skulkarn@redhat.com","username":"swapnilkulkarni2608"},"date":"2013-11-23 15:32:16.000000000","message":"Patch Set 2: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":2},{"id":"c4611ea15319132a595930dedd97b114c0c820a0","author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"date":"2013-11-23 16:06:00.000000000","message":"Patch Set 2: (2 inline comments)\n\n","accounts_in_message":[],"_revision_number":2},{"id":"5fc0c0f862660cd5b02b07991e5ca434f392d25b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-11-25 02:58:57.000000000","message":"Patch Set 2: No score\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"830fbf19885f154d8fb11a3c73360f0f975af505","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2013-11-25 02:58:57.000000000","message":"Patch Set 2: Looks good to me (core reviewer); Approved\n\n","accounts_in_message":[],"_revision_number":2},{"id":"c811fbe2f4921153fbe83432ee4a8838bb9a465a","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-11-25 04:56:52.000000000","message":"Patch Set 2: Verified\n\nBuild succeeded.\n\n- gate-devstack-bash8 http://logs.openstack.org/24/55024/2/gate/gate-devstack-bash8/e217332 : SUCCESS in 4s\n- gate-tempest-devstack-vm-full http://logs.openstack.org/24/55024/2/gate/gate-tempest-devstack-vm-full/6a40162 : SUCCESS in 29m 12s\n- gate-tempest-devstack-vm-postgres-full http://logs.openstack.org/24/55024/2/gate/gate-tempest-devstack-vm-postgres-full/04b21ca : SUCCESS in 34m 43s\n- gate-tempest-devstack-vm-neutron http://logs.openstack.org/24/55024/2/gate/gate-tempest-devstack-vm-neutron/957d958 : SUCCESS in 26m 49s\n- gate-tempest-devstack-vm-large-ops http://logs.openstack.org/24/55024/2/gate/gate-tempest-devstack-vm-large-ops/05b20e9 : SUCCESS in 13m 25s\n- gate-tempest-devstack-vm-neutron-large-ops http://logs.openstack.org/24/55024/2/gate/gate-tempest-devstack-vm-neutron-large-ops/2cc3a52 : SUCCESS in 15m 23s\n- gate-grenade-devstack-vm http://logs.openstack.org/24/55024/2/gate/gate-grenade-devstack-vm/5b27261 : SUCCESS in 30m 03s\n- gate-swift-devstack-vm-functional http://logs.openstack.org/24/55024/2/gate/gate-swift-devstack-vm-functional/4281c9e : SUCCESS in 10m 23s\n","accounts_in_message":[],"_revision_number":2},{"id":"c674e6404dee7cd815810646f592813bd051c75d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2013-11-25 04:56:52.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"6db28923263b1d99f03069ccac6126a13bac0b5e","revisions":{"9998b5bed345c6a6c4915ca814b036707e05617b":{"kind":"REWORK","_number":1,"created":"2013-11-02 13:52:35.000000000","uploader":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"ref":"refs/changes/24/55024/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack","ref":"refs/changes/24/55024/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack refs/changes/24/55024/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack refs/changes/24/55024/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack refs/changes/24/55024/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack refs/changes/24/55024/1"}}},"commit":{"parents":[{"commit":"7751354b44bc3ce286142d588d18ec919a5e4eff","subject":"Merge \"Decrease tempest BUILD_TIMEOUT\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/7751354b44bc3ce286142d588d18ec919a5e4eff"}]}],"author":{"name":"Sean Dague","email":"sdague@linux.vnet.ibm.com","date":"2013-11-02 00:40:38.000000000","tz":-240},"committer":{"name":"Sean Dague","email":"sdague@linux.vnet.ibm.com","date":"2013-11-02 00:43:50.000000000","tz":-240},"subject":"Add hacking rules for shell scripts","message":"Add hacking rules for shell scripts\n\nThis is an attempt to collect the rules that we live by in devstack\nthat are generally held. Writing these down help us figure out ways\nto put them into bash8 over time.\n\nChange-Id: Id2b750665871ebbeddf4694ba080c75d2f6f443e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/9998b5bed345c6a6c4915ca814b036707e05617b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/9998b5bed345c6a6c4915ca814b036707e05617b"}]},"branch":"refs/heads/master"},"6db28923263b1d99f03069ccac6126a13bac0b5e":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":2,"created":"2013-11-22 17:22:54.000000000","uploader":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"ref":"refs/changes/24/55024/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack","ref":"refs/changes/24/55024/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack refs/changes/24/55024/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack refs/changes/24/55024/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack refs/changes/24/55024/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack refs/changes/24/55024/2"}}},"commit":{"parents":[{"commit":"1fe3fc0457615007226c94be44a9535d8bb809a9","subject":"Merge \"Update vsphere image filename pattern\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/1fe3fc0457615007226c94be44a9535d8bb809a9"}]}],"author":{"name":"Sean Dague","email":"sean.dague@samsung.com","date":"2013-11-22 17:16:02.000000000","tz":-300},"committer":{"name":"Sean Dague","email":"sean.dague@samsung.com","date":"2013-11-22 17:20:39.000000000","tz":-300},"subject":"Add hacking rules for shell scripts","message":"Add hacking rules for shell scripts\n\nThis is an attempt to collect the rules that we live by in devstack\nthat are generally held. Writing these down help us figure out ways\nto put them into bash8 over time. These are a starting point for\nconversation.\n\nChange-Id: Id2b750665871ebbeddf4694ba080c75d2f6f443e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/6db28923263b1d99f03069ccac6126a13bac0b5e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/6db28923263b1d99f03069ccac6126a13bac0b5e"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
