)]}'
{
  "log": [
    {
      "commit": "523f48803609b35350b624244fa73b1030c1d5fa",
      "tree": "17f99ab223f42eec58523fa89a49f243efba754b",
      "parents": [
        "307730acd9d271bc4c3d44f2dfed0eab67e1657d"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Oct 13 11:03:03 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Nov 27 15:36:04 2015 +1100"
      },
      "message": "Namespace XTRACE commands\n\nI noticed this when debugging some grenade issues failures.\n\nAn include of grenade/functions stores the current value of XTRACE\n(on) and disables xtrace for the rest of the import.\n\nWe then include devstack\u0027s \"functions\" library, which now overwrites\nthe stored value of XTRACE the current state; i.e. disabled.\n\nWhen it finishes it restores the prior state (disabled), and then\ngrenade restores the same value of XTRACE (disabled).\n\nThe result is that xtrace is incorrectly disabled until the next time\nit just happens to be turned on.\n\nThe solution is to name-space the store of the current-value of xtrace\nso when we finish sourcing a file, we always restore the tracing value\nto what it was when we entered.\n\nSome files had already discovered this.  In general there is\ninconsistency around the setting of the variable, and a lot of obvious\ncopy-paste.  This brings consistency across all files by using\n_XTRACE_* prefixes for the sotre/restore of tracing values.\n\nChange-Id: Iba7739eada5711d9c269cb4127fa712e9f961695\n"
    },
    {
      "commit": "7f0be4fc5f5bd8f45087e53c94fae3b9146f486e",
      "tree": "a77f1372145cff6efe15d7e6fdcc77a9983cca4f",
      "parents": [
        "0b6a40bcabeaffef419a0a35f59cd7329e73c8db"
      ],
      "author": {
        "name": "Swapnil Kulkarni (coolsvap)",
        "email": "me@coolsvap.net",
        "time": "Fri Nov 20 10:52:59 2015 +0530"
      },
      "committer": {
        "name": "Swapnil Kulkarni (coolsvap)",
        "email": "me@coolsvap.net",
        "time": "Fri Nov 20 11:17:19 2015 +0530"
      },
      "message": "Updated Typos in devstack\n\n(1/5) Updated HACKING.rst for typos\n(2/5) Updated typos in lib/dlm\n(3/5) Updated typos in lib/ironic\n(4/5) Updated typos in unittest.sh\n(5/5) Updated typos in test_meta_config.sh\n\nChange-Id: I7aafa3af69df9dc6a5923a8557f380d48b73433a\n"
    },
    {
      "commit": "5cad4d3fe94f2e3823a8d9a2588b3a580d69605c",
      "tree": "e890fe4dd3faf4a1b21d39d8fdb4a670e5f4961a",
      "parents": [
        "db6cb078aecf90c7b0cb30778903c61770a25861"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Nov 10 14:39:07 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Nov 11 14:30:12 2015 -0500"
      },
      "message": "refactor zookeeper into a slightly more generic dlm module\n\nThis attempts to make the zookeeper installation a bit more modular\n(assuming that other folks will want to add other dlms as plugins),\nand addresses the service start issues with zookeeper under\nubuntu/upstart.\n\nZookeeper is not going to be installed by default. Services need to\nask for it with use_dlm.\n\nChange-Id: I33525e2b83a4497a57ec95f62880e0308c88b34f\n"
    }
  ]
}
