)]}'
{
  "log": [
    {
      "commit": "e263c82e48a431e502bd6baceb6dfcfdc1750cbb",
      "tree": "5ca592e668dedb4debc6c7170f3abf37cc4bc0c6",
      "parents": [
        "2f8e08b5728f4272b415b1c0aab8ff62eae29b06"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Dec 05 14:25:28 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Dec 10 11:28:05 2014 -0500"
      },
      "message": "add shebang lines to all lib files\n\nWith gerrit 2.8, and the new change screen, this will trigger syntax\nhighlighting in gerrit. Thus making reviewing code a lot nicer.\n\nChange-Id: Id238748417ffab53e02d59413dba66f61e724383\n"
    },
    {
      "commit": "0fc1cc29ac5d9aa88e47611de72f3a98f14bf242",
      "tree": "e9029982bf4c45ac62e3d355b9dded459d15e357",
      "parents": [
        "df2cc34db60454e33aa2974509faa24b6d7093d4"
      ],
      "author": {
        "name": "Henry Gessau",
        "email": "gessau@cisco.com",
        "time": "Sun Jul 06 22:54:34 2014 -0400"
      },
      "committer": {
        "name": "Henry Gessau",
        "email": "gessau@cisco.com",
        "time": "Tue Jul 15 21:29:29 2014 -0400"
      },
      "message": "Use one name for neutron database after healing\n\nNow that the Neutron database is healed we no longer need a\nplugin-specific name for it.\n\nRelated Blueprint: db-migration-refactor\n\nChange-Id: If25e77444f115817e5570bb447bde5b9c8d6e686\n"
    },
    {
      "commit": "e3a9160c0d6c7802141fb147339ab12f76482c85",
      "tree": "87c1c831cf248211a583676bff47d612283d917a",
      "parents": [
        "4c0e728780d49bfca80b147676ad1b96d16e24e4"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 28 12:40:56 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 28 12:40:59 2014 -0500"
      },
      "message": "Fix Neutron plugin XTRACE handling\n\nThe various Neutron plugin files need to have unique variables for the\nxtrace state as they are sometimes nested more than two levels deep\nand MY_XTRACE is getting stomped.  This gives each of the neutron_plugin\nand neutron_thirdparty include files a unique XTRACE state variable.\n\nI don\u0027t think this is a problem with any of the other plugin include\nfiles (yet) so this just handles Neutron for now.\n\nChange-Id: I7c272a48e7974edecaff5f431ff7443dd6622588\n"
    },
    {
      "commit": "aee18c749b0e3a1a3a6907a33db76ae83b8d41d9",
      "tree": "01a8ab5abb9867986f3e848918abd9e749b691cd",
      "parents": [
        "0ed4af02da0bd4a0f757dd8c2156913e6c7a724c"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 21 15:35:08 2014 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 28 07:59:03 2014 +1100"
      },
      "message": "Enforce function declaration format in bash8\n\nCheck that function calls look like ^function foo {$ in bash8, and fix\nall existing failures of that check.  Add a note to HACKING.rst\n\nChange-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938\n"
    },
    {
      "commit": "b8e250232ec55b946d2fd7e4237f12632408bdcc",
      "tree": "0f5001c7caeb6c2f4fddb552c8b4aa84a85d69aa",
      "parents": [
        "b17fecf7d8c1a0c562ac7d8fc3a8d642f6392ac6"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 21 16:14:29 2014 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Feb 26 09:31:15 2014 +1100"
      },
      "message": "Add end-of-file checks to bash8\n\nAdd two end-of-file checks to bash8.  Firstly, alert if heredoc hasn\u0027t\nfinished.  Some heredocs were done like:\n\n---\nsudo bash -c \"cat \u003c\u003cEOF \u003e foo\n...\nEOF\"\n---\n\n(A better way to do this is \"cat \u003c\u003cEOF | sudo tee ...\" as it retains\nthe usual heredoc layout in the code).\n\nThe trailing quote was throwing the matching in bash8 off and it kept\nappending the next file as if it was still part of the heredoc.  To\navoid this, we check if we\u0027re still in a heredoc when we start a new\nfile; if so raise an error and reset the heredoc status fresh.  We\ntrack the state of the previous file, line and lineno so we can give a\ngood error.\n\n---\nE012: heredoc did not end before EOF: \u0027cat \u003c\u003cEOF\u0027\n - lib/trove: L221\n---\n\nThis includes fixes for the existing problem heredocs.\n\nA similar EOF check is to ensure the previous file ended with a\nnewline.\n\n---\nE004: file did not end with a newline: \u0027$MY_XTRACE\u0027\n - lib/neutron_plugins/embrane: L40\n---\n\nThis requires only one fix\n\nChange-Id: I5e547d87b3921fc7ce6588c28f074e5c9f489c1f\n"
    },
    {
      "commit": "a03607d03f18fbe842bb61a509a868e1447fc379",
      "tree": "795265bf05e2b39334e7e31bcbcfb7230c07a5c8",
      "parents": [
        "78ab80e5589a7df21a03f06f38c4bae3e79bf756"
      ],
      "author": {
        "name": "Ivar Lazzaro",
        "email": "ivar@embrane.com",
        "time": "Mon Feb 03 06:28:14 2014 -0800"
      },
      "committer": {
        "name": "Ivar Lazzaro",
        "email": "ivar@embrane.com",
        "time": "Mon Feb 03 06:42:02 2014 -0800"
      },
      "message": "Embrane Plugin Support\n\nImplements blueprint embrane-plugin-support\n\nThis commit implements Embrane\u0027s Neutron plugin installation support\nin Devstack.\nThis is an extension of the openvswitch installation module, which is\nused by the main plugin, and enables configuration by localrc\n\nChange-Id: Ia4824f8d2300bcdce170d226145bbce6088f1557\n"
    }
  ]
}
