)]}'
{
  "commit": "7bdceb46cf8e9ef2c650b50b2e5a116bea04f20f",
  "tree": "185b6669436e837561fbc41123bcca9e96695211",
  "parents": [
    "83098e12e8b2252797a6570ba340c181eeddbd07"
  ],
  "author": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Wed Jan 10 17:14:57 2018 -0800"
  },
  "committer": {
    "name": "Keir Mierle",
    "email": "mierle@gmail.com",
    "time": "Wed Mar 07 12:41:22 2018 -0800"
  },
  "message": "Evaluation callback API\n\nThis adds a callback mechanism to for users to get notified just\nbefore jacobian and residual evaluations. This will enable\naggressive caching and sharing of compute between cost functions.\n\nChange-Id: I67993726920218edf71ab9ae70c34c204756c71a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4018a688a65d6797b5e1a9c54c575946591ed8ec",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "15de209e25bc41573658aa6a3cd67f76ae2b174f",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "96291f5e5e39101f36d0e0861b7d11318ebf29e7",
      "old_mode": 33188,
      "old_path": "docs/source/nnls_solving.rst",
      "new_id": "8cba04bcecc65982d9567fe1a911fd4368a86e19",
      "new_mode": 33188,
      "new_path": "docs/source/nnls_solving.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "46a42af8f531e8c2ecc2c82dc90ad133d5d9a9f7",
      "new_mode": 33188,
      "new_path": "include/ceres/evaluation_callback.h"
    },
    {
      "type": "modify",
      "old_id": "ec0758f5cc2c0125842b2497b6cf3f4ed2a36b0e",
      "old_mode": 33188,
      "old_path": "include/ceres/solver.h",
      "new_id": "2926f8e5a2298a04ce8a9a96ddcafab606de3ebd",
      "new_mode": 33188,
      "new_path": "include/ceres/solver.h"
    },
    {
      "type": "modify",
      "old_id": "55cd0eb2a4b6c0428996963eb6a9ff3ad5e1a158",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "cc43fec246ea0fe2097132c53c5ac7e07efde896",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "57e09f020e25464eef0796d40500858c69ebcde8",
      "new_mode": 33188,
      "new_path": "internal/ceres/evaluation_callback_test.cc"
    },
    {
      "type": "modify",
      "old_id": "cbb7aa23c34574d09840308578a98f98c3d1199a",
      "old_mode": 33188,
      "old_path": "internal/ceres/evaluator.h",
      "new_id": "532f437578122ebff053a26b3f39908337b49374",
      "new_mode": 33188,
      "new_path": "internal/ceres/evaluator.h"
    },
    {
      "type": "modify",
      "old_id": "cc2e3c378be9c5c4557d7524afdbc08c9318dacb",
      "old_mode": 33188,
      "old_path": "internal/ceres/line_search_minimizer.cc",
      "new_id": "5b5b83704be96d70b157a8dbb39f7ce609b28481",
      "new_mode": 33188,
      "new_path": "internal/ceres/line_search_minimizer.cc"
    },
    {
      "type": "modify",
      "old_id": "7ddb280daa5f606b97e0493cfddb3d4416553ea3",
      "old_mode": 33188,
      "old_path": "internal/ceres/line_search_preprocessor.cc",
      "new_id": "72c1dd829537999d824531eb0746128b59769851",
      "new_mode": 33188,
      "new_path": "internal/ceres/line_search_preprocessor.cc"
    },
    {
      "type": "modify",
      "old_id": "5986d81ac534cdfed4746c1607d24713e3fdc3f7",
      "old_mode": 33188,
      "old_path": "internal/ceres/program_evaluator.h",
      "new_id": "10dcc066d571ce98c11e4aaeb585d85e54f4186e",
      "new_mode": 33188,
      "new_path": "internal/ceres/program_evaluator.h"
    },
    {
      "type": "modify",
      "old_id": "3de9c69d392ac1ecfac35f941ab59a5abc1ae533",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver.cc",
      "new_id": "4083c599a405885e42128a4dc66e9c5b0f3775e9",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver.cc"
    },
    {
      "type": "modify",
      "old_id": "5aa4a9404f13ba504c5c4982da942f679b6c1430",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver_test.cc",
      "new_id": "80f12e462952b2c1b4b68f6f7daa120121a8560b",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver_test.cc"
    },
    {
      "type": "modify",
      "old_id": "3a779c63b26489bbebb5a64290c10c4eae08d0f4",
      "old_mode": 33188,
      "old_path": "internal/ceres/trust_region_minimizer.cc",
      "new_id": "a863e6366da3e46edb33235cf93aa115f54ffc7b",
      "new_mode": 33188,
      "new_path": "internal/ceres/trust_region_minimizer.cc"
    },
    {
      "type": "modify",
      "old_id": "43141da58a1ed4c75680a9c6ce6385defe44c287",
      "old_mode": 33188,
      "old_path": "internal/ceres/trust_region_minimizer.h",
      "new_id": "9c5274d7f4b178affff946735a531540c04d63ef",
      "new_mode": 33188,
      "new_path": "internal/ceres/trust_region_minimizer.h"
    },
    {
      "type": "modify",
      "old_id": "4c20aacb5c45612939ba2123fc2324ce49462888",
      "old_mode": 33188,
      "old_path": "internal/ceres/trust_region_preprocessor.cc",
      "new_id": "96f597cda1202623fa43dc2ceb49a4816c73d527",
      "new_mode": 33188,
      "new_path": "internal/ceres/trust_region_preprocessor.cc"
    }
  ]
}
