)]}'
{
  "commit": "490df65b0b17933c8222afe0c65f94bd0ebbc7d2",
  "tree": "ba24df984b617dd046ee6b7c9e914837fa88dc7e",
  "parents": [
    "53adf72f48b958c0c85756c3e83d16e60657e5d2"
  ],
  "author": {
    "name": "Robert Newson",
    "email": "rnewson@apache.org",
    "time": "Sat May 14 20:28:05 2022 +0100"
  },
  "committer": {
    "name": "Robert Newson",
    "email": "rnewson@apache.org",
    "time": "Mon Jun 13 11:34:25 2022 +0100"
  },
  "message": "Integrate raft algorithm (WIP)\n\ncouch_raft.erl is a complete implementation of the raft algorithm but\ncurrently only manages an in-memory state machine and log.\n\nPreliminary work is also here to add a new btree inside the `.couch`\nfiles, which will be the real raft log. The intent is that log entries\ncan be removed from this log and applied to by_id and by_seq trees\natomically.\n\nraft log is preserved over compaction in the same manner as local\ndocs, all entries are slurped into memory and written in one\npass. This should be fine as the log should stay short, committed\nentries can be promptly removed. It\u0027s probably not fine for local\ndocs, though...\n\nAnyway, it\u0027s progress and hopefully we\u0027re going somewhere cool.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "486ed7cb01615169c147c9a689b5c5a58108a168",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_bt_engine.erl",
      "new_id": "8feb360d3514b06d2fd3e67084e76348cf78ea62",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_bt_engine.erl"
    },
    {
      "type": "modify",
      "old_id": "e3c1d49831ad481c577bf9d5b02bd57400683d9a",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_bt_engine.hrl",
      "new_id": "0d347e99b6d6373865d744243258984f989abf22",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_bt_engine.hrl"
    },
    {
      "type": "modify",
      "old_id": "e28f07723db88d6148e435bd9eedb7271ab4c06a",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_bt_engine_header.erl",
      "new_id": "9e663b0961a367fc579456019296037d003c52d4",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_bt_engine_header.erl"
    },
    {
      "type": "modify",
      "old_id": "70ba1c2b9128a4118b3688a7ff2f02787d69c983",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_db.erl",
      "new_id": "274526acdd4c130b5288f0b74b63b1a3cd11227b",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_db.erl"
    },
    {
      "type": "modify",
      "old_id": "9e46b816bad04db1a073bf98e568e9e809e40e1c",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_db_engine.erl",
      "new_id": "2969df956883eaf974e329d8f4f6b98802a9f145",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_db_engine.erl"
    },
    {
      "type": "modify",
      "old_id": "17a1e9160a0e87d1d8c4bca7cfc79dd3bbcb13d4",
      "old_mode": 33188,
      "old_path": "src/couch/src/couch_db_updater.erl",
      "new_id": "2a449e869cb5f992a4695499551638f61f1f9f73",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_db_updater.erl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f398b4f2a216873fc794718b527e8f7db7b9dbd6",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_raft.erl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "987212457bd510ddb74875ea269805c7fa5027de",
      "new_mode": 33188,
      "new_path": "src/couch/src/couch_raft_log.erl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c3f8ebc2299d8820a3fd6db05fbcc9d356f1ac4",
      "new_mode": 33188,
      "new_path": "src/couch/test/eunit/couch_raft_SUITE.erl"
    }
  ]
}
