)]}'
{
  "commit": "e2a716994ec58b6ab06cd7ba6b7452fbf4b29f79",
  "tree": "5bac6229681deae248638cf30bef1b89cd28a696",
  "parents": [
    "59d7f9842eb98ac734af3cba91f81a0edd1038eb"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Apr 06 02:04:14 2015 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Apr 06 02:16:46 2015 -0700"
  },
  "message": "Revert a call to SolveUpperTriangularUsingCholesky.\n\nThe call to llt in backsubstitute seems to be using one\nof the fixed size specializations which is best done with\nan inline call to llt/ldlt rather than introducing yet another\nvariant of the SolverUpperTriangularUsingCholesky and calling it.\n\nAlso change the way SolverUpperTriangularUsingCholesky handles\nerror. It always computes the solution even if it is garbage\nand then returns the error code.\n\nThis ensures that the previous code that depends on unconditional\ncomputation still works.\n\nChange-Id: Idb1e6efdae9a3775a072e3b87cde02e0bbddb319\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "993f92c734e43d6fa6b7cddec70d68903d77e731",
      "old_mode": 33188,
      "old_path": "internal/ceres/eigen_dense_cholesky.cc",
      "new_id": "7b43ad2948c4c8258aa97162e29af4922a7232de",
      "new_mode": 33188,
      "new_path": "internal/ceres/eigen_dense_cholesky.cc"
    },
    {
      "type": "modify",
      "old_id": "e736e4eb502cbf8bc922678039a583a84977d9dc",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_eliminator_impl.h",
      "new_id": "d1a007512747d4574f144b8107da152981487fe4",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator_impl.h"
    }
  ]
}
