)]}'
{
  "commit": "489bd2a62b5949665bc7c4a05a52d27a987e0489",
  "tree": "baed5bdd9d9f3bdba8d1325125f61f7a72ddc56a",
  "parents": [
    "4807df8e5bc0e5e78536ecea37a0ca7621720524"
  ],
  "author": {
    "name": "Dean Troyer",
    "email": "dtroyer@gmail.com",
    "time": "Fri Mar 02 10:44:29 2012 -0600"
  },
  "committer": {
    "name": "Jesse Andrews",
    "email": "anotherjesse@gmail.com",
    "time": "Fri Mar 02 17:55:37 2012 -0800"
  },
  "message": "Improve exercise robustness\n\n* Test returns and exit codes on most command invocations\n* Add start and end banners to make output easier to find in\n  long log files\n* Adds die_if_error(), die_if_not_set() and is_set() to functions\n* Add some function tests\n\nFixes bug 944593\n\nChange-Id: I55e2962c5fec9aad237b674732b1e922ad37a62e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d5c78af32b017dffd56b7ed5c15851f3ea587109",
      "old_mode": 33261,
      "old_path": "exercises/bundle.sh",
      "new_id": "e1c949cf4792524262692d7360ccc640aae67c0e",
      "new_mode": 33261,
      "new_path": "exercises/bundle.sh"
    },
    {
      "type": "modify",
      "old_id": "a15a5c04d95c14ea85fa722f8e49017771313eeb",
      "old_mode": 33261,
      "old_path": "exercises/client-env.sh",
      "new_id": "28c4d95e009b994cd79dedb5df71244cb85fa444",
      "new_mode": 33261,
      "new_path": "exercises/client-env.sh"
    },
    {
      "type": "modify",
      "old_id": "86cd67321e395a641240f099142e38aedf6cc8c1",
      "old_mode": 33261,
      "old_path": "exercises/euca.sh",
      "new_id": "b766bab8b59b30e6acc3a6288715f60d922b297d",
      "new_mode": 33261,
      "new_path": "exercises/euca.sh"
    },
    {
      "type": "modify",
      "old_id": "b559965fc90fffc334b5540f0f64d4400022ca1e",
      "old_mode": 33261,
      "old_path": "exercises/floating_ips.sh",
      "new_id": "a47f1ffc232eaa19a8a66c74c7581a4cf68ce5a6",
      "new_mode": 33261,
      "new_path": "exercises/floating_ips.sh"
    },
    {
      "type": "modify",
      "old_id": "95443df33df2301b61d1d9f6bdd9b4547282ab04",
      "old_mode": 33261,
      "old_path": "exercises/swift.sh",
      "new_id": "76096379a4e652df4aa5d8b7d74dbf8a0def33f0",
      "new_mode": 33261,
      "new_path": "exercises/swift.sh"
    },
    {
      "type": "modify",
      "old_id": "622fb185869728cc59d3b97b033edff608d13cc2",
      "old_mode": 33261,
      "old_path": "exercises/volumes.sh",
      "new_id": "a812401a09e12aa063200882e30e2d2284d3fed7",
      "new_mode": 33261,
      "new_path": "exercises/volumes.sh"
    },
    {
      "type": "modify",
      "old_id": "01c4758fa0b777c30c866dd430d7eb7a7a641a12",
      "old_mode": 33188,
      "old_path": "functions",
      "new_id": "adcf5bdaa1a496abe864f5ee99dd04c0b6d38b09",
      "new_mode": 33188,
      "new_path": "functions"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0fd76ccad0a37b752d96d38729b80ebae6f31fc1",
      "new_mode": 33261,
      "new_path": "tests/functions.sh"
    }
  ]
}
