)]}'
{
  "commit": "fc827de38532defbbe1e4add1724989fdb62baed",
  "tree": "3c2b0b8e442a0f24bcae7d33b7703c80978e9ea1",
  "parents": [
    "5cf867be497d166522dc84d7c4bdb069f2e09f28"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue Feb 18 21:24:50 2014 -0800"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Wed Feb 19 00:01:29 2014 -0800"
  },
  "message": "Deal with bounds constrained problems in the Solver.\n\n1. Detect if the problem is bounds constrained.\n2. Detect if the problem is infeasible due to\n   constant infeasible parameter blocks.\n3. Simplify the interface to TrustRegionMinimize and\n   LineSearchMinimize. In the process fix a bug related\n   to early return and the way user state pointers\n   were being dealt with in parameter blocks.\n\nChange-Id: Ie7e70862029d3e0734636882c21ea594516119d1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0d55c056bef8417b9a993539c21f8bc05403c770",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl.cc",
      "new_id": "070ed8028874cef7c9ae12a7f814c87dcbdfc5dd",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "5191bc4d0c9e2ed44ea3c1712291d62fc392ea80",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_impl.h",
      "new_id": "f6599c4017f1dc6ef9d95ace73b0e00f630be238",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_impl.h"
    }
  ]
}
