)]}'
{
  "commit": "f747183ec022f06d9828cfc909dcd50edebe5789",
  "tree": "a228e2f6a12331371423512b691c5123855975b7",
  "parents": [
    "57d91f5e9eafd8e89c473d7e92175eaa5ae75276"
  ],
  "author": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Thu Jun 14 11:31:53 2012 -0700"
  },
  "committer": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Mon Jun 18 00:49:58 2012 -0700"
  },
  "message": "Fix user iteration callbacks.\n\nUser callbacks got broken at some point due to the extra\nlayer of copying from Solver::Options to Minimizer::Options.\nThis copies the user callbacks when initializing\nMinimizer::Options from Solver::Options, and adds a test to\nthis effect.\n\nThis also fixes a bug where the state updating callback was\nnot called before the user callbacks. This also adds a test\nto solver_impl_test to ensure the state updating callbacks\nwork as expected.\n\nThanks to Luis Alberto Zarrabeitia for the report.\n\nIssue: 46\nChange-Id: I2b36415c89dafaa5c84ecaa727a325df122e1092\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "076805fa816b9a0b5631bfa8c73cc111f9807558",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "d59469c853cc08dd7b4b2eb0db4cb79537eda8a1",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "e15b165038fbf4e8cc5f011b7183e8943946b90f",
      "old_mode": 33188,
      "old_path": "internal/ceres/minimizer.h",
      "new_id": "70b530f92ef0ef66d72e76504bd2a162d7816662",
      "new_mode": 33188,
      "new_path": "internal/ceres/minimizer.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "10580366528be6983d9ee943f3a7f7c513a159b8",
      "new_mode": 33188,
      "new_path": "internal/ceres/minimizer_test.cc"
    },
    {
      "type": "modify",
      "old_id": "506ef2f5039c450b666def41131ba104c0f8a161",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl.cc",
      "new_id": "ab91681567bc625ffa01a4ae28c1358f0c07d78a",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "81775fb6a3427417dd2765ddbf63e7f1714ab7c2",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl_test.cc",
      "new_id": "ef4a6e0595e48cfe7f3e864c2060f40c95b3f6be",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "3eaebc3d80372a76af7e639cea3a65bed1ec5511",
      "old_mode": 33188,
      "old_path": "internal/ceres/system_test.cc",
      "new_id": "405dc6970c048fdcb5cce44758f1da3caa09d1f3",
      "new_mode": 33188,
      "new_path": "internal/ceres/system_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4d0c91ecfe827741e0f7bf9be30dd1dae3472bb7",
      "old_mode": 33188,
      "old_path": "internal/ceres/trust_region_minimizer.cc",
      "new_id": "c47569043c5ce5ec194c6c11d379e9caa140ee89",
      "new_mode": 33188,
      "new_path": "internal/ceres/trust_region_minimizer.cc"
    },
    {
      "type": "modify",
      "old_id": "4337b18913e64ca5bffdafb2a85939c9e1d9dc5e",
      "old_mode": 33188,
      "old_path": "internal/ceres/trust_region_minimizer.h",
      "new_id": "a4f5ba3674d48c9b69a1c7232f9b013b1ee1f75d",
      "new_mode": 33188,
      "new_path": "internal/ceres/trust_region_minimizer.h"
    }
  ]
}
