)]}'
{
  "commit": "344c09f5bc72d08ac5226611954445887a2a6392",
  "tree": "f7ed94ea5c638f141a1c759a4bb285f2476887ae",
  "parents": [
    "c3c3dd872bd98c3df258d46dd76f93be8f81b73c"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Sat Apr 20 16:07:56 2013 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Apr 26 19:47:45 2013 -0700"
  },
  "message": "Block ordering for SPARSE_SCHUR + CX_SPARSE.\n\nUptil now only SuiteSparse when used with SPARSE_SCHUR would use\nthe block structure of the reduced camera matrix to find a fill-reducing\nordering.\n\nThis leads to substantial speedup for some bundle adjustment\nproblems.\n\nCredit for this technique goes to the authors of g2o. I learned\nabout it from reading their source code.\n\nChange-Id: I5403efefd4d9552c9c6fc6e02a65498bdf171584\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3734c0871b9e449120ce50bd6f84d9921ff8d14d",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "549c94e35df79631015dadd5f8443957278f3c28",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ba76dad3387f0b20f13e862ca34cb5805a1e2cd1",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_col_sparse_matrix_utils.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "afabf1cd295fcd26e23ece7142e1c7c33c257a7c",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_col_sparse_matrix_utils.h"
    },
    {
      "type": "rename",
      "old_id": "72e3e68377e3cd7861e19125eb00295cc437e5ad",
      "old_mode": 33188,
      "old_path": "internal/ceres/suitesparse_test.cc",
      "new_id": "7efa0e3b59797c8f80279bb44f8ae5b1259796a5",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_col_sparse_matrix_utils_test.cc",
      "score": 88
    },
    {
      "type": "modify",
      "old_id": "3fbc2717f64d5d5cd6078e8a143be49ce15eb69e",
      "old_mode": 33188,
      "old_path": "internal/ceres/cxsparse.cc",
      "new_id": "b7f2520bd4d3acfe131819529e13261b2b6ba9eb",
      "new_mode": 33188,
      "new_path": "internal/ceres/cxsparse.cc"
    },
    {
      "type": "modify",
      "old_id": "dd5eadc8da8afb85e4226226a364370fae54df7b",
      "old_mode": 33188,
      "old_path": "internal/ceres/cxsparse.h",
      "new_id": "d34b6359ec581cc256953552c021d07b99d90e46",
      "new_mode": 33188,
      "new_path": "internal/ceres/cxsparse.h"
    },
    {
      "type": "modify",
      "old_id": "9539c0d282b57d4efe601e47a218557f31829bb9",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_complement_solver.cc",
      "new_id": "0defcd6a04dd90377238b2896bdfafc6ce912211",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_complement_solver.cc"
    },
    {
      "type": "modify",
      "old_id": "d576f6af191dfae27af2a6d224b099e656e2ef03",
      "old_mode": 33188,
      "old_path": "internal/ceres/suitesparse.cc",
      "new_id": "fe2edd354a0cd3d1dde4e3280a90eb4f2683e949",
      "new_mode": 33188,
      "new_path": "internal/ceres/suitesparse.cc"
    },
    {
      "type": "modify",
      "old_id": "a1a4f355d76dda6d4a4f53a7452f24e485a63641",
      "old_mode": 33188,
      "old_path": "internal/ceres/suitesparse.h",
      "new_id": "e138623a0c7e931ee52414aea1bcf4bf31ee224c",
      "new_mode": 33188,
      "new_path": "internal/ceres/suitesparse.h"
    }
  ]
}
