)]}'
{
  "commit": "57d91f5e9eafd8e89c473d7e92175eaa5ae75276",
  "tree": "007d705c789f217c6f10e9cb1a6c027324dec46a",
  "parents": [
    "5ecd2518e561d76b42e540118e9a027b0766ea50"
  ],
  "author": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Sun Jun 17 23:45:23 2012 -0700"
  },
  "committer": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Sun Jun 17 23:45:23 2012 -0700"
  },
  "message": "Don\u0027t assume program state is user state\n\nThe SolverImpl::Solve() method incorrectly assumed that the\nstate pointers inside the parameter blocks always pointed to\nthe user state at the start of the method. That is not true.\n\nChange-Id: I73f8eeda453422c99e09d71a3cd0bfa92dd45742\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "444b102025328c4cb9c4c12761aed135e8429e14",
      "old_mode": 33188,
      "old_path": "internal/ceres/program.cc",
      "new_id": "529e4a3f58044c9a16c47f389cfe916fb03127d3",
      "new_mode": 33188,
      "new_path": "internal/ceres/program.cc"
    },
    {
      "type": "modify",
      "old_id": "113d352d562cea649ee707c18743da92d864685f",
      "old_mode": 33188,
      "old_path": "internal/ceres/program.h",
      "new_id": "27b58e1cc5c143dd0f21c322b9509389f0f869b8",
      "new_mode": 33188,
      "new_path": "internal/ceres/program.h"
    },
    {
      "type": "modify",
      "old_id": "ca35adc3d9482ad09af2880c5c2d61cf38472458",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl.cc",
      "new_id": "506ef2f5039c450b666def41131ba104c0f8a161",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl.cc"
    }
  ]
}
