)]}'
{
  "commit": "83f70e5c02a6c19a78d4a790c56b0d9557581314",
  "tree": "5ba3edf1f7d6f39afee04c94f49d3cde7fbd0d30",
  "parents": [
    "21ec8f462cc9a2ee95b7967e239bd4c4e12df4a5"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Apr 09 13:52:38 2018 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Mon Apr 09 14:39:02 2018 -0700"
  },
  "message": "Remove unnecessary memory allocations when using SuiteSparse.\n\n1. Add SuiteSparse::CreateDenseVectorView\n2. Replace calls to SuiteSparse::CreateDenseVector with\n   SuiteSparse::CreateDenseVectorView.\n2. Replace NULL with nullptr in suitesparse.cc and\n   dynamic_sparse_normal_cholesky_solver.cc\n\nChange-Id: I94355c1dc27789e5b987a7b2850e9db6176a0914\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a46c85edf1d4edc943a0d55d803920bbcfa1d7e6",
      "old_mode": 33188,
      "old_path": "internal/ceres/dynamic_sparse_normal_cholesky_solver.cc",
      "new_id": "f9660838aa48523a95a11d6ee28218fb5051bc87",
      "new_mode": 33188,
      "new_path": "internal/ceres/dynamic_sparse_normal_cholesky_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "5e93d2e54d68dd81e4046ec4ea988fdc8c0ec468",
      "old_mode": 33188,
      "old_path": "internal/ceres/suitesparse.cc",
      "new_id": "cc07a01f03f4f6dcd8f3a3f656eba249bb299cd5",
      "new_mode": 33188,
      "new_path": "internal/ceres/suitesparse.cc"
    },
    {
      "type": "modify",
      "old_id": "06466027922d2d84ad522bb364d762a5d0575f3a",
      "old_mode": 33188,
      "old_path": "internal/ceres/suitesparse.h",
      "new_id": "91cd24b76d0af5d00d6e60b04d964da34c8fc4c3",
      "new_mode": 33188,
      "new_path": "internal/ceres/suitesparse.h"
    }
  ]
}
