)]}'
{
  "commit": "d22e32c74178072a29c48f7deef6288991b32630",
  "tree": "115e9d884b19e4982de81dc386411851427d59d4",
  "parents": [
    "894edf4e9d0b12c3d1bcaa07deaee514ac242a91"
  ],
  "author": {
    "name": "Kaushik Lingarkar",
    "email": "kaushik.lingarkar@linaro.org",
    "time": "Tue Feb 20 10:24:56 2024 -0800"
  },
  "committer": {
    "name": "Kaushik Lingarkar",
    "email": "kaushik.lingarkar@linaro.org",
    "time": "Mon Mar 11 16:53:42 2024 -0700"
  },
  "message": "Allow configuring the root project and branch\n\nThis change introduces plugin config options to allow changing the\ndefault root project and branch. All-Projects:refs/meta/config usually\nhas restricted permissions, so admins have to get involved to get task\nconfig updates merged. Currently, permissions on refs/meta/config have\nto be relaxed so that task config devs can read/push on that ref.\n\nHaving a custom root project and branch will allow organizations to\nprovide a self-service model for task config updates without involving\nadmins. They will no longer need to relax permissions on All-projects\nand refs/meta/config as it can be a security concern. Additionally,\nconfiguring customized labels, submit requirements and other plugin\nconfigs (for example code-owners) for task config devs on All-Projects\ncannot be done without impacting all other projects on the server as\nthey inherit from All-Projects. A document detailing the requirements\nfor task config development has been added as well which attempts to\nhighlight the need for allowing custom root project and branch.\n\nTest framework has been updated such that the entire test suite now\nruns on both the default and custom root project and branch.\n\nChange-Id: I77fafe7e6a5347e68f6a4f097caa0b0d9421cdb7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "386964369b49ba0f21e1d992363effa61fb99175",
      "old_mode": 33188,
      "old_path": "src/main/antlr4/com/googlesource/gerrit/plugins/task/TaskReference.g4",
      "new_id": "dc46655cf5372237ba6e3a69fd3333f0dcdceaaf",
      "new_mode": 33188,
      "new_path": "src/main/antlr4/com/googlesource/gerrit/plugins/task/TaskReference.g4"
    },
    {
      "type": "modify",
      "old_id": "648c729c864fdfedab5c2e2dd6517e59e2a9157a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskConfigCache.java",
      "new_id": "8f7d1f6a7fc4c3f0e0ca944fe8310b909bac1b9c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskConfigCache.java"
    },
    {
      "type": "modify",
      "old_id": "bd0b683fd05ebd57fe1dc5bbc573e2bfe6e542a7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskKey.java",
      "new_id": "609160ec30e61c510c4b93e64f38e6f5c6bb35dc",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskKey.java"
    },
    {
      "type": "modify",
      "old_id": "888c52969a27e22e615cc63cb201188f59c74aeb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskPluginConfiguration.java",
      "new_id": "496d005ffd16d89a4be2934f201863c893dab941",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskPluginConfiguration.java"
    },
    {
      "type": "modify",
      "old_id": "a7824ac48edc50e81871614af949cbc8fc0c2e5b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskReference.java",
      "new_id": "1ccf6734cdc32634ca98201921d6ea4b21c2ba58",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskReference.java"
    },
    {
      "type": "modify",
      "old_id": "7900ef79c4a6b1f8089db7f54edac80e53f175e2",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/config.md",
      "new_id": "5f13e18447ee45499f291d7fbb654e8e1d87668b",
      "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": "edbe2a111f56f65e775aec8a655978d5f5cf2408",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/design/task_plugin_config.md"
    },
    {
      "type": "modify",
      "old_id": "75ee18975538401968aec3fc569ce6fe65cf1abe",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/task.md",
      "new_id": "4860e0bf67c018ac72592ee168b787509d745364",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/task.md"
    },
    {
      "type": "modify",
      "old_id": "c084a3933cf12990776c164130c17cc96a96e545",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/task_expression.md",
      "new_id": "61f46d09895f74dcf7c940b888eeac2b7243b9ea",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/task_expression.md"
    },
    {
      "type": "modify",
      "old_id": "8f43cb0a81304c155bffe32ed97156be81b2d0d2",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/paths.md",
      "new_id": "54dca08631bf6230197ef188d644a17a378fcb7a",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/paths.md"
    },
    {
      "type": "modify",
      "old_id": "3d1d7cc6a5f80eccdaaaa01272255c0f9e971850",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/new_root_with_original_with_external_secret_ref.md",
      "new_id": "950d87cbb30921352aa0284cd07c05af950669ab",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/new_root_with_original_with_external_secret_ref.md"
    },
    {
      "type": "modify",
      "old_id": "d192050dbb0da649867481269af214a8664cdc5b",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/non-secret_ref_with_external_secret_ref.md",
      "new_id": "b5f04d7f1cde5febb7f61f29a3ea3206f0fea75f",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/non-secret_ref_with_external_secret_ref.md"
    },
    {
      "type": "modify",
      "old_id": "a0f11ebeb71b0de4e51fb205706090eecd76e114",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/non_root_with_subtask_from_root_task.md",
      "new_id": "afb80b0748095edee64a143198afeae71c5fc0b9",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/non_root_with_subtask_from_root_task.md"
    },
    {
      "type": "modify",
      "old_id": "c0add08a5ffc0388aea48519cf61ad085841f5c6",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/root_with_external_non-secret_ref_with_external_secret_ref.md",
      "new_id": "45a069d78fed66c8f876fd491626e874ec0a36dc",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/root_with_external_non-secret_ref_with_external_secret_ref.md"
    },
    {
      "type": "modify",
      "old_id": "4d81b12ce3f76bf4900d4c69984102a32ce01136",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/root_with_external_secret_ref.md",
      "new_id": "d41bc8bab03aeec72396ad1caba2cda13d6ca884",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/root_with_external_secret_ref.md"
    },
    {
      "type": "modify",
      "old_id": "504d5a854c74b74d024baa1d084bc9792db072c1",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/subtask_using_group_syntax/root_with_subtask_non-secret_ref_with_subtask_secret_ref.md",
      "new_id": "883dc0d9cd54b42859aa25a18b9d4a75c3cb5306",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/subtask_using_group_syntax/root_with_subtask_non-secret_ref_with_subtask_secret_ref.md"
    },
    {
      "type": "modify",
      "old_id": "9a1932c1a6fc41ee51b7acbca1dc0d773e108c91",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/subtask_using_group_syntax/root_with_subtask_secret_ref.md",
      "new_id": "6a879cb715e86bdd3a06e943775d9fb1050223cb",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/subtask_using_group_syntax/root_with_subtask_secret_ref.md"
    },
    {
      "type": "modify",
      "old_id": "fad2f1dbf58c57c2300bed65eea337954249110f",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/subtask_using_user_syntax/root_with_subtask_non-secret_ref_with_subtask_secret_ref.md",
      "new_id": "a9469eb70c9889950715102f56a7b2ea9d5fdfb8",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/subtask_using_user_syntax/root_with_subtask_non-secret_ref_with_subtask_secret_ref.md"
    },
    {
      "type": "modify",
      "old_id": "d2b33499ba1f9ab13f83fbef2e64b2d1c4b043eb",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task-preview/subtask_using_user_syntax/root_with_subtask_secret_ref.md",
      "new_id": "007f53abecd60468538e143d67a40832ee9bbccc",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task-preview/subtask_using_user_syntax/root_with_subtask_secret_ref.md"
    },
    {
      "type": "modify",
      "old_id": "7a6a8d086e6426a63cdfc27fb221f07ce222c3e7",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task_states.md",
      "new_id": "493a699fe3f579e81d7d0d6b7f7bf6fb95799841",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task_states.md"
    },
    {
      "type": "modify",
      "old_id": "8ea0009e5cbce2e8da88714fe0a8f50c3349ecf2",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/task/TaskExpressionTest.java",
      "new_id": "7afbeab4f371ae45a5219f5d0f034ba21779e53d",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/task/TaskExpressionTest.java"
    },
    {
      "type": "modify",
      "old_id": "e08240d840e1908a1e7fd0f9600f852cc3452d91",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/task/TaskReferenceTest.java",
      "new_id": "dc976449bec0c1bcc3d900126204955b759582c2",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/task/TaskReferenceTest.java"
    },
    {
      "type": "modify",
      "old_id": "dfb0e52b08adad9419d183963a8fd6d2c364cfe2",
      "old_mode": 33261,
      "old_path": "test/check_task_statuses.sh",
      "new_id": "9a5735b598f6131c6ae5ac4448ce282871b5f7db",
      "new_mode": 33261,
      "new_path": "test/check_task_statuses.sh"
    },
    {
      "type": "modify",
      "old_id": "5e088118043a22d8585cc94cadeefd7cc62eb60d",
      "old_mode": 33261,
      "old_path": "test/check_task_visibility.sh",
      "new_id": "15566f70e11248e56efec3e227b7f54d016f4b72",
      "new_mode": 33261,
      "new_path": "test/check_task_visibility.sh"
    },
    {
      "type": "modify",
      "old_id": "2e27b2574c64e7660ba70688f9304ac006d4e8b3",
      "old_mode": 33261,
      "old_path": "test/docker/run.sh",
      "new_id": "24bda2fa77c5d7332762100b4f5cf91dff73b418",
      "new_mode": 33261,
      "new_path": "test/docker/run.sh"
    },
    {
      "type": "modify",
      "old_id": "d949bb218d4690c35fb9e86e89cd84156ba3cff9",
      "old_mode": 33261,
      "old_path": "test/docker/run_tests/create-one-time-test-data.sh",
      "new_id": "c0d9bd861f2435b053b4341812233c66ba999eec",
      "new_mode": 33261,
      "new_path": "test/docker/run_tests/create-one-time-test-data.sh"
    },
    {
      "type": "modify",
      "old_id": "4a73f24c15f89ed6d2aa3287fd2226bf3981d5e4",
      "old_mode": 33261,
      "old_path": "test/docker/run_tests/start.sh",
      "new_id": "9794a6ba477b09d460bc5bd950c24e4566855827",
      "new_mode": 33261,
      "new_path": "test/docker/run_tests/start.sh"
    },
    {
      "type": "modify",
      "old_id": "94157ad93db05f068d42ba91965489871cb2344f",
      "old_mode": 33188,
      "old_path": "test/lib/lib_helper.sh",
      "new_id": "249834c4393f8bb5be0a21dc5da5ddbc32ac9d40",
      "new_mode": 33188,
      "new_path": "test/lib/lib_helper.sh"
    }
  ]
}
