)]}'
{
  "commit": "82f4b88c34b0b2cf85064e5fc20e374e978b2e3b",
  "tree": "19fbcde06a8d38a06a80617b131626f6ca772fdb",
  "parents": [
    "f8bd7fa9aa9dbf64b6165606630287cf8cf21194"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Sun May 06 21:05:28 2012 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue May 08 17:40:16 2012 -0700"
  },
  "message": "Extend support writing linear least squares problems to disk.\n\n1. Make the mechanism for writing problems to disk, generic and\ncontrollable using an enum DumpType visible in the API.\n\n2. Instead of single file containing protocol buffers, now matrices can\nbe written in a matlab/octave friendly format. This is now the default.\n\n3. The support for writing problems to disk is moved into\nlinear_least_squares_problem.cc/h\n\n4. SparseMatrix now has a ToTextFile virtual method which is\nimplemented by each of its subclasses to write a (i,j,s) triplets.\n\n5. Minor changes to simple_bundle_adjuster to enable logging at startup.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cb1143c53e89d4904f3d5188a5f4712b414b77fa",
      "old_mode": 33188,
      "old_path": "examples/simple_bundle_adjuster.cc",
      "new_id": "16c2dde1d1f040742fc1f020a984b432ea7e3ae6",
      "new_mode": 33188,
      "new_path": "examples/simple_bundle_adjuster.cc"
    },
    {
      "type": "modify",
      "old_id": "15fd7332d2122dde9b95f0e4eaa0f005b8aad8a4",
      "old_mode": 33188,
      "old_path": "include/ceres/solver.h",
      "new_id": "bd6692720234bf670ff2f9efae67fe5bddde02c7",
      "new_mode": 33188,
      "new_path": "include/ceres/solver.h"
    },
    {
      "type": "modify",
      "old_id": "b83a266d1ba9e6c66544fae5d098ff6dc9d10789",
      "old_mode": 33188,
      "old_path": "include/ceres/types.h",
      "new_id": "433baa89e7e440a8e1295c7d8cb18d1449f04559",
      "new_mode": 33188,
      "new_path": "include/ceres/types.h"
    },
    {
      "type": "modify",
      "old_id": "c1be9402b7863a44feda7fbd267233321b46237d",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_sparse_matrix.cc",
      "new_id": "7dd395e29751b952c47fe6072cf6d68765044eb6",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "b151dd0e248a0ef5f606bba429c65f003c726569",
      "old_mode": 33188,
      "old_path": "internal/ceres/block_sparse_matrix.h",
      "new_id": "f71446e8f58ac3d24095c3ecdd44479b821ca73c",
      "new_mode": 33188,
      "new_path": "internal/ceres/block_sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "8fd568ffcc3db6977afa2f660992a00fc78e5a0b",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_sparse_matrix.cc",
      "new_id": "95edf5396af83fdf91b95b1c64a78e61c661202c",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "43712a866405715549d389398a51a8dec7492c52",
      "old_mode": 33188,
      "old_path": "internal/ceres/compressed_row_sparse_matrix.h",
      "new_id": "9a39d28e111b0d69cde03c6a231eac0fc6393052",
      "new_mode": 33188,
      "new_path": "internal/ceres/compressed_row_sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "ffbfab61de1917611286d6284ceb59f3b1fe1c36",
      "old_mode": 33188,
      "old_path": "internal/ceres/dense_sparse_matrix.cc",
      "new_id": "5d392ba6c3bf14fc2a407ffe183b6f2173e09ee4",
      "new_mode": 33188,
      "new_path": "internal/ceres/dense_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "5ce29eef51bc32e1221604af3ba4aa2bc89b7260",
      "old_mode": 33188,
      "old_path": "internal/ceres/dense_sparse_matrix.h",
      "new_id": "416c2143c2c774a7042b2efc9442ceef935a4d2c",
      "new_mode": 33188,
      "new_path": "internal/ceres/dense_sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "3ecae5d1065bb7bfacd48333d50356a2974bf492",
      "old_mode": 33188,
      "old_path": "internal/ceres/levenberg_marquardt.cc",
      "new_id": "4ada7944f88fe2020cab7e88de74421b7f8d21a2",
      "new_mode": 33188,
      "new_path": "internal/ceres/levenberg_marquardt.cc"
    },
    {
      "type": "modify",
      "old_id": "9e3d8bdbb9827ee93435d90f0e0ab0d3b719ed14",
      "old_mode": 33188,
      "old_path": "internal/ceres/linear_least_squares_problems.cc",
      "new_id": "da3ed8c69250cf8e0a48601b6e570759f3d9dd6b",
      "new_mode": 33188,
      "new_path": "internal/ceres/linear_least_squares_problems.cc"
    },
    {
      "type": "modify",
      "old_id": "46a624bd73fc15e7133125884fb0ab2bd32ea7fa",
      "old_mode": 33188,
      "old_path": "internal/ceres/linear_least_squares_problems.h",
      "new_id": "553cc0d3db34dd3f8ac3ad76c8c32c9399a8de58",
      "new_mode": 33188,
      "new_path": "internal/ceres/linear_least_squares_problems.h"
    },
    {
      "type": "modify",
      "old_id": "71163a8ea6f6bbc6d331cb7787d6537ef6c940ad",
      "old_mode": 33188,
      "old_path": "internal/ceres/minimizer.h",
      "new_id": "77cb00cb6b4874f8352e8898fdae5780fac69520",
      "new_mode": 33188,
      "new_path": "internal/ceres/minimizer.h"
    },
    {
      "type": "modify",
      "old_id": "962b803dd877cd0bddffdd1c70513d9fa14e732b",
      "old_mode": 33188,
      "old_path": "internal/ceres/sparse_matrix.h",
      "new_id": "562210dfec8ccb4a651de62bd89edcadb1589cf6",
      "new_mode": 33188,
      "new_path": "internal/ceres/sparse_matrix.h"
    },
    {
      "type": "modify",
      "old_id": "7d7c3df9960dd7a8924e52af77554232259ee76b",
      "old_mode": 33188,
      "old_path": "internal/ceres/triplet_sparse_matrix.cc",
      "new_id": "247ab2e697b2cf691ec5b03b776293b29c1eef13",
      "new_mode": 33188,
      "new_path": "internal/ceres/triplet_sparse_matrix.cc"
    },
    {
      "type": "modify",
      "old_id": "3c90a62fd20e1102db1552fdb9628e2cc7ea5063",
      "old_mode": 33188,
      "old_path": "internal/ceres/triplet_sparse_matrix.h",
      "new_id": "300e74d0bbcb54f57c74b7a4ead282f5e2d840a9",
      "new_mode": 33188,
      "new_path": "internal/ceres/triplet_sparse_matrix.h"
    }
  ]
}
