)]}'
{
  "commit": "b42197b7b38f29d48b1e4a3f1cabc48281897569",
  "tree": "f32a5be7e69f151b4a00018a9cb11be6463b5ec1",
  "parents": [
    "f2f6cd72d45f3d73bd48484cf2527f08d57d867d"
  ],
  "author": {
    "name": "Robert Newson",
    "email": "rnewson@apache.org",
    "time": "Thu Nov 28 10:08:57 2024 +0000"
  },
  "committer": {
    "name": "Robert Newson",
    "email": "rnewson@apache.org",
    "time": "Wed Dec 11 16:34:58 2024 +0000"
  },
  "message": "WIP CouchDB Auto-Tombstone Removal\n\nCouchDB will completely remove deleted documents once all \u0027registered peers\u0027\nhave checkpointed past the update seq of the delete.\n\nIn order to do this efficiently all peers must create a local document in the\ndatabase, so that the database can use map/reduce to calculate the lower bound.\n\nAll peers that wish to consume the changes feed must create a local document at\nseq 0 before they start (to ensure deletes that occur while reading the changes\nfeed are preserved) and periodically update that local document as they\nprogress.\n\n_view_cleanup has been enhanced to delete all checkpoint documents for\nunreachable indexes (similar to how we clean up purge sync documents).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7bc02146e9f8cffb8126b4c9b666357c36b6bfea",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_bt_engine.erl",
      "new_id": "16c0203da550ced84e3515df4981f25071c66edf",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_bt_engine.erl"
    },
    {
      "type": "modify",
      "old_id": "8ed55b5c39992fcb6305b81d63557f4b5eee8237",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_bt_engine_compactor.erl",
      "new_id": "0c339c95c2727bbc02fc8a9196d4b0db025d0d9f",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_bt_engine_compactor.erl"
    },
    {
      "type": "modify",
      "old_id": "2ef89ced3a674cad938081e763e67ddfcaab3a4a",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_db.erl",
      "new_id": "bee20f6c5c60065146ac402170a518a699e0172c",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_db.erl"
    },
    {
      "type": "modify",
      "old_id": "052a527e3cafcd1b6dd8025b25cc70883599a88e",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_db_engine.erl",
      "new_id": "a5a412f86fc8e8f30489d759507c91172dfd7a53",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_db_engine.erl"
    },
    {
      "type": "modify",
      "old_id": "d126e30cc79565f6548818616b74a9ba717c6818",
      "old_mode": 33188,
      "old_path": "src/couch_mrview/src/couch_mrview.erl",
      "new_id": "b1e305331b9f7542810c2c35d0566448b1a7bb8b",
      "new_mode": 33188,
      "new_path": "src/couch_mrview/src/couch_mrview.erl"
    },
    {
      "type": "modify",
      "old_id": "5b5afbdce07c004862f0c5dc3fa51e162655c424",
      "old_mode": 33188,
      "old_path": "src/couch_mrview/src/couch_mrview_cleanup.erl",
      "new_id": "f1b671dd5d0bc341e88f75c3dc6e9850ec11291a",
      "new_mode": 33188,
      "new_path": "src/couch_mrview/src/couch_mrview_cleanup.erl"
    },
    {
      "type": "modify",
      "old_id": "51777480cd6f5415c132271db74b7508da32fa45",
      "old_mode": 33188,
      "old_path": "src/couch_mrview/src/couch_mrview_index.erl",
      "new_id": "eef6bca191ed5b736fede764642c8bc11b3b633e",
      "new_mode": 33188,
      "new_path": "src/couch_mrview/src/couch_mrview_index.erl"
    },
    {
      "type": "modify",
      "old_id": "a478685daf504847b997b2c19e695694d96cf7c6",
      "old_mode": 33188,
      "old_path": "src/couch_mrview/src/couch_mrview_util.erl",
      "new_id": "33aaf8a9cfe38ac8234e8e019909905c0ef90507",
      "new_mode": 33188,
      "new_path": "src/couch_mrview/src/couch_mrview_util.erl"
    },
    {
      "type": "modify",
      "old_id": "93a71b035f058f8f2809973c8441a7e5979f4c34",
      "old_mode": 33188,
      "old_path": "src/fabric/src/fabric.erl",
      "new_id": "c717e0040370bee3ce2ca3bd8e84876ee11a361e",
      "new_mode": 33188,
      "new_path": "src/fabric/src/fabric.erl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "430edcca71203216e419d0fccd294ae8fa332fdb",
      "new_mode": 33188,
      "new_path": "src/fabric/src/fabric_registered_replication_peers.erl"
    },
    {
      "type": "modify",
      "old_id": "9b00d95011cf9135f0e5c9f03e7296aa19b84ffc",
      "old_mode": 33188,
      "old_path": "src/fabric/src/fabric_rpc.erl",
      "new_id": "104cf6ae85c282bd73ff4b9a615db27e45c0953a",
      "new_mode": 33188,
      "new_path": "src/fabric/src/fabric_rpc.erl"
    },
    {
      "type": "modify",
      "old_id": "70fc797dad6c1ab57b6081e7250927b90e463263",
      "old_mode": 33188,
      "old_path": "src/mem3/src/mem3_rpc.erl",
      "new_id": "0b7cffdc907acba649d81c5cc408438dae91882a",
      "new_mode": 33188,
      "new_path": "src/mem3/src/mem3_rpc.erl"
    }
  ]
}
