)]}'
{
  "commit": "adb10f1600f2a1be705a5e435dbfdb49dabdcd2f",
  "tree": "d50bebf3bb723f7e2ec987f37e03bf90815d654b",
  "parents": [
    "3d472e345530429bd8af6170a6ff2db1e0e6c642"
  ],
  "author": {
    "name": "martin f. krafft",
    "email": "madduck@madduck.net",
    "time": "Wed Aug 07 16:01:53 2013 +0200"
  },
  "committer": {
    "name": "martin f. krafft",
    "email": "madduck@madduck.net",
    "time": "Wed Aug 07 16:36:33 2013 +0200"
  },
  "message": "Implement Parameter interpolation\n\nParameters can now reference each other, and resolution happens in\ntopological order. This is done in two steps: while merging already\nwalks the entire dictionary, a list of references and their occurrences\nis kept. After merging is complete, interpolate() is called on the\ninstance, which recursively resolves the references found during\nmerging. If a referenced value itself contains other references, those\nare resolved first (which is the topological ordering).\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "363e508d5fbab07df9049d151fde62c243b67adb",
      "old_mode": 33188,
      "old_path": "reclass/datatypes/parameters.py",
      "new_id": "d8973663a945f19a867bb947a4f97973326b91ce",
      "new_mode": 33188,
      "new_path": "reclass/datatypes/parameters.py"
    },
    {
      "type": "modify",
      "old_id": "dde5573f4b3d3c8a131a40b216556f603898a9a8",
      "old_mode": 33188,
      "old_path": "reclass/datatypes/tests/test_parameters.py",
      "new_id": "57320182b33830b81c14f5e1e484abeb98f24afc",
      "new_mode": 33188,
      "new_path": "reclass/datatypes/tests/test_parameters.py"
    },
    {
      "type": "modify",
      "old_id": "544cb152b7c7aa822a9be991eba5190bf92088c5",
      "old_mode": 33188,
      "old_path": "reclass/errors.py",
      "new_id": "5bec2c1d389c06e31062d4a390d9c5e47ade1b01",
      "new_mode": 33188,
      "new_path": "reclass/errors.py"
    }
  ]
}
