)]}'
{
  "commit": "25e1cdbb6f5e0544f98c5b613e490716cbcabecf",
  "tree": "0f12b7023c5984563a4415cd8ae8be9d0fe8e5ca",
  "parents": [
    "d467a627b527f2f84ef8b65834fcaf2cd0fb2de0"
  ],
  "author": {
    "name": "Johannes Beck",
    "email": "Jodebo_Beck@gmx.de",
    "time": "Sun Mar 17 21:35:49 2019 +0100"
  },
  "committer": {
    "name": "Johannes Beck",
    "email": "Jodebo_Beck@gmx.de",
    "time": "Mon Apr 08 19:44:16 2019 +0000"
  },
  "message": "Switch to FixedArray implementation from abseil.\n\nThis PR changes the implementation of the current fixed array to the\nabseil one, which has proper allocator support.\nSome minor changes are made to make the fixed array implementation\nself-contained (no dependent to abseil):\n- No address sanitizer support (red zones, etc.)\n- Remove of noexecpt specified for copy and move constructor.\n- Remove of \u0027at\u0027 function as Ceres does not use exceptions.\n- Use std::tuple instead of absl::CompressedTuple as it uses the  abseil\n  utility header which includes a whole bunch of other headers.\n\nChange-Id: I43445b42c37f944509b5353a587d0efce74cbccf\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b2c6800eccc5ef5dc9e2ee99e16b646e7b3b000f",
      "old_mode": 33188,
      "old_path": "include/ceres/autodiff_first_order_function.h",
      "new_id": "65b7d0fc8241180b5e5d74906b0d2902704cfdb4",
      "new_mode": 33188,
      "new_path": "include/ceres/autodiff_first_order_function.h"
    },
    {
      "type": "modify",
      "old_id": "7ae529102667b3ed8c5dc00845a4d7d231f16c1d",
      "old_mode": 33188,
      "old_path": "include/ceres/dynamic_cost_function_to_functor.h",
      "new_id": "8284dd20bfa39e3f1ad2d2f94092b14c0f8c0832",
      "new_mode": 33188,
      "new_path": "include/ceres/dynamic_cost_function_to_functor.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "38720555bb3f3bd05c31c820a6af5a451d5287a7",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/algorithm.h"
    },
    {
      "type": "modify",
      "old_id": "ee8c59d53576b4a9ecb6b44ea4b38ce3b8ce5b6f",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/autodiff.h",
      "new_id": "ef7cfeac78b0ada5df895d51eaee80f161ec73ed",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/autodiff.h"
    },
    {
      "type": "modify",
      "old_id": "dcb2acefa352dd6689e37356cf8056ff19782a78",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/fixed_array.h",
      "new_id": "6e86e9d9fb5a312fecf5fa6645d1d1edb49b558f",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/fixed_array.h"
    },
    {
      "type": "delete",
      "old_id": "60f147af1154f1fd74b284b637107d3659ce254f",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/manual_constructor.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "45c5b67c353db52a29345289470fee563c404754",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/memory.h"
    },
    {
      "type": "modify",
      "old_id": "8851bc71e9f44303f54a33116d05dc241f9cc280",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/numeric_diff.h",
      "new_id": "211fa8264ad6ca758abe231d47bdde78becc1d17",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/numeric_diff.h"
    },
    {
      "type": "modify",
      "old_id": "f6cd32a64afc5834d4033fa187936ce3fb2be67f",
      "old_mode": 33188,
      "old_path": "include/ceres/numeric_diff_cost_function.h",
      "new_id": "8edf801b2858b444799b2e1be23aa0468888a450",
      "new_mode": 33188,
      "new_path": "include/ceres/numeric_diff_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "0bf02a2577086e81256ae310f7f54158b70b9a26",
      "old_mode": 33188,
      "old_path": "internal/ceres/CMakeLists.txt",
      "new_id": "281eeded0e3eef0885075c5999a29e111d1ece75",
      "new_mode": 33188,
      "new_path": "internal/ceres/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c131563ddc1a5efdb54c245d436216e1a745078a",
      "new_mode": 33188,
      "new_path": "internal/ceres/algorithm_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2909707573dd812377d1af6420169bd2ed675035",
      "new_mode": 33188,
      "new_path": "internal/ceres/fixed_array_test.cc"
    },
    {
      "type": "modify",
      "old_id": "92d7b269bec3352ad0b951d9da6d567bace2665c",
      "old_mode": 33188,
      "old_path": "internal/ceres/gradient_checker_test.cc",
      "new_id": "05648fd9ec1a42e6a1f7424f414b5f4bdeeafec9",
      "new_mode": 33188,
      "new_path": "internal/ceres/gradient_checker_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a7fe4a1afe5c418cdeee500fe00d9b64c8635731",
      "old_mode": 33188,
      "old_path": "internal/ceres/local_parameterization.cc",
      "new_id": "02ed4c95d4137f7563c703328aa39f9d07e53fa2",
      "new_mode": 33188,
      "new_path": "internal/ceres/local_parameterization.cc"
    },
    {
      "type": "modify",
      "old_id": "7582e92b2e34d7f44a4ca71e63c846166396e9ec",
      "old_mode": 33188,
      "old_path": "internal/ceres/residual_block.cc",
      "new_id": "7bfcc29cef5074f7c88cbd9e2ec8a60ae1dd6e39",
      "new_mode": 33188,
      "new_path": "internal/ceres/residual_block.cc"
    },
    {
      "type": "modify",
      "old_id": "d754d9d82a4d945f7571a9fa67bac70c8987da15",
      "old_mode": 33188,
      "old_path": "internal/ceres/schur_eliminator_impl.h",
      "new_id": "5d658691a91878f6a9185ae4fba8afe37a20f894",
      "new_mode": 33188,
      "new_path": "internal/ceres/schur_eliminator_impl.h"
    }
  ]
}
