)]}'
{
  "commit": "3abcf7c90304bca8d9bad0a403c0d96f9e610fbe",
  "tree": "3bc95001a90509e012be62866e01131e85af8f9d",
  "parents": [
    "508eb46416ae3c06308738cd3dcd4e9ee2dbb3e2"
  ],
  "author": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Sat Feb 03 16:04:37 2024 +0100"
  },
  "committer": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Thu Feb 22 07:24:05 2024 +0100"
  },
  "message": "Introduce the `remote.NAME.fetchEvery` configuration param\n\nCurrently, there are three methods for obtaining repository updates in\npull-replication:\n* Apply objects - This transfers updated refs and objects via the REST\n  API; optimisation on the top of Git fetch for small payloads and for\n  subset of refs\n* Trigger git fetch (as configured preference) or fallback in all cases\n  when apply object is not suitable or fails\n* Event tiggered through the event-broker.\n\nThe parameter (if configured and when implemented) enables the fourth,\ntime-based (every `n` seconds) method, that is independent of the\nREST API. It will periodically invoke git fetch to detect and retrieve\nnew data as it becomes available. Note that it is meant for the remote\nthat doesn\u0027t offer any events or webhooks to provide information about\nnew data.\n\nThe default parameter value is `0s` which means that periodical fetch\nis disabled. Note that larger time units (`m`, `h`, etc...) can be\nused to configure it conveniently.\n\nNote that enbaling periodic fetch and REST API (IOW having both `apiUrl`\nand `fetchEvery` configured) may lead to racy writes to the repository\nand as such is considered an invalid configuration. Such configuration\nresults in reported as error and prevents the plugin from starting.\n\nBug: Issue 322146240\nChange-Id: I23fc5e23aabff2dd0f053de235245614cf4706c9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "26a754ac995ed8389a664df6c7f7a794f8d732d2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfigParser.java",
      "new_id": "2ff91890683273267e6b74262845d0b6b97244ae",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfigParser.java"
    },
    {
      "type": "modify",
      "old_id": "d481dbbb928ea062e288a0240790d15ba4d0c57a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfiguration.java",
      "new_id": "faba80589ffa6498d3ec0c3f558d88e13ab889f7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfiguration.java"
    },
    {
      "type": "modify",
      "old_id": "3b76be96847b1b366cb58db3e20933a360e6cd2c",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/config.md",
      "new_id": "5e791d46d674546c2288766796fc63ee441398fe",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/config.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "306153a165f4b26c894d957c1162750e731f1aff",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfigParserTest.java"
    }
  ]
}
