)]}'
{
  "commit": "99aca60b2caa38e2c4b765bcda7df0430bb84707",
  "tree": "b52b0fee2ffba1919842869a05e80caa45ab45c4",
  "parents": [
    "4c9c5d12f4f50feb5fe8b5ee382beeaf731c7331"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Jun 02 10:28:54 2017 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Jun 02 11:08:11 2017 -0700"
  },
  "message": "Do not create a SparseCholesky object when not needed.\n\nSchurComplementSolver implements a variant of ITERATIVE_SCHUR\nwhen explicit_schur_complement is set to true. In this case\nthe SparseCholesky object should not be instantiated. Even\nthough there is no CPU cost, it can be the case that ITERATIVE_SCHUR\nis being used when there are not sparse linear algebra libraries\nare available, and this can result in a crash.\n\nChange-Id: I349d5f79201782689b3ab0ccc2c5001804b44c7b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa921b4fd65593f9f7a89cbf8c506c5c5c1a3e06",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver.cc",
      "new_id": "1a1becb6970c64b9ab0b8fba39d2d852b65fb50c",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver.cc"
    }
  ]
}
