)]}'
{
  "commit": "9beea728f6c1007483ce81e0f5add57860a05a1a",
  "tree": "75b059c0fe14d4c70229789fdb5a9f91f49aa337",
  "parents": [
    "8e5d83f07de2122b62738e97dfd05aafbeed233d"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Sat Dec 17 16:57:02 2022 -0800"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Sat Dec 17 17:32:03 2022 -0800"
  },
  "message": "Fix a bug in CoordinateDescentMinimizer\n\nCoordinateDescentMinimizer optimizes one parameter block at a time.\nTo do this, it manipulates the parameter block object. It was doing\nso inconsistently, where the tangent space offset was being set to\nzero but the ambient state offset was not being set to zero. This\ndid not cause problems because these offsets were not really being\nused inside the CoordinateDescentMinimizer. However the recent\nchange which parallelizes Program::Plus uncovered this bug.\n\nThe reason this bug was not caught was because, CoordinateDescentMinimizer\ndoes not have any tests. I will fix this shortly, but in the interim\nto unbreak inner iterations at head, this small change should go in.\n\nChange-Id: I55d2698e8509f9cb5751e7a5180427129d86e720\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8ecdeff47cef84837a69a0f365c99903cd4609e7",
      "old_mode": 33188,
      "old_path": "internal/ceres/coordinate_descent_minimizer.cc",
      "new_id": "de2282246c27e7994c30a17f12308a2dd1c27870",
      "new_mode": 33188,
      "new_path": "internal/ceres/coordinate_descent_minimizer.cc"
    }
  ]
}
