)]}'
{
  "commit": "3cdd33210db8ebec647d89728c8eea4abe0072dd",
  "tree": "a3d52ac9134ba22a116f10ef350c6f038b1ac629",
  "parents": [
    "f45f2b7903d2db989402601ad8ec27eff5c1dc9d"
  ],
  "author": {
    "name": "Dave Cheney",
    "email": "dave@cheney.net",
    "time": "Tue Jun 07 14:23:05 2016 +1000"
  },
  "committer": {
    "name": "Dave Cheney",
    "email": "dave@cheney.net",
    "time": "Tue Jun 07 14:23:05 2016 +1000"
  },
  "message": "Introduce Stacktrace and Frame (#37)\n\n* Introduce Stacktrace and Frame\r\n\r\nThis PR is a continuation of a series aimed at exposing the stack trace\r\ninformation embedded in each error value. The secondary effect is to\r\ndeprecated the `Fprintf` helper.\r\n\r\nTaking cues from from @chrishines\u0027 `stack` package this PR introduces a\r\nnew interface `Stacktrace() []Frame` and a `Frame` type, similar in\r\nfunction to the `runtime.Frame` type (although lacking its iterator\r\ntype). Each `Frame` implemnts `fmt.Formatter` allowing it to print\r\nitself.\r\n\r\nThe older `Location` interface is still supported but also deprecated.\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f9acbd405709a4229d3c2459df62dc49c61ed732",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "631f2ccb3108d762f44952b6ea50a1403454bdbe",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "3d515d891dc897362e39bd87628eaa7d71afb846",
      "old_mode": 33188,
      "old_path": "errors.go",
      "new_id": "fa30f02a24c0ae6f145fac176890a06c3456205f",
      "new_mode": 33188,
      "new_path": "errors.go"
    },
    {
      "type": "modify",
      "old_id": "2795bb2e0ef4b64b9fccf2e0cabc133f014f0e75",
      "old_mode": 33188,
      "old_path": "errors_test.go",
      "new_id": "8238a85c7286faa5535b74827ffbe6ef5dba7fc3",
      "new_mode": 33188,
      "new_path": "errors_test.go"
    },
    {
      "type": "modify",
      "old_id": "c5f20230a041af5818984b72a2419e3b193174b5",
      "old_mode": 33188,
      "old_path": "example_test.go",
      "new_id": "c763caa9dbb9fd7186a746dc53925f7feb311872",
      "new_mode": 33188,
      "new_path": "example_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fd542436cb7b5a75d636b760e5d489d0dfee53b9",
      "new_mode": 33188,
      "new_path": "stack.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c9a4d4c3e825d83486c54185e36ed5fcf778ff84",
      "new_mode": 33188,
      "new_path": "stack_test.go"
    }
  ]
}
