)]}'
{
  "commit": "593bdd48815b3c1dc3c11e4c138b81ce644ea157",
  "tree": "dcde084a1aae13c79f61d029c71a1d4c0aeea781",
  "parents": [
    "b92e0d4819350da7e48ea175b18865bd62209cc4"
  ],
  "author": {
    "name": "Prudhvi Akhil Alahari",
    "email": "prudhvi.alahari@linaro.org",
    "time": "Fri Nov 03 14:44:38 2023 +0530"
  },
  "committer": {
    "name": "Nasser Grainawi",
    "email": "nasser.grainawi@linaro.org",
    "time": "Wed Jan 17 16:56:09 2024 -0700"
  },
  "message": "Fix subtask lookup to not fail when preloaded from another file\n\nBefore this change, plugin failed to lookup a subtask when a task\nwith this subtask was preloaded using a task reference [1]. While\npreloading a task, all the subtasks are copied to the current task.\nSince the subtask property was a String, it does not maintain the\ninformation regarding the location of the subtask. Thus, fix this\nissue by using ConfigSourcedValue as the type for subtask property,\nwhich helps in tracking the location. Add tests for the same.\n\n[1]\nfile: `All-Projects:refs/meta/config:task.config`\n```\n[root \"root task\"]\n    applicable \u003d status:open\n    preload-task \u003d //common.config^simple task with subtask\n```\n\nfile: `All-Projects:refs/meta/config:task/common.config`\n```\n[task \"simple task with subtask\"]\n  applicable \u003d is:open\n  subtask \u003d passing task\n\n[task \"passing task\"]\n  applicable \u003d is:open\n  pass \u003d True\n```\n\nChange-Id: Ieff1da7a47b63514fb8d0437340e096e03ad54bd\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d5a8ad12d3b45d27a7c6ba5e10d83ec531e01709",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/ConfigSourcedValue.java"
    },
    {
      "type": "modify",
      "old_id": "f5f0bd4204eecac27ab5a36d9f22bb51dbc68d79",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskConfig.java",
      "new_id": "138bcd6695e805bea705a1fea7bf611d0b404d4e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskConfig.java"
    },
    {
      "type": "modify",
      "old_id": "44fcadc1bf0d2d6fa55285f0252bdd144648bf80",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskTree.java",
      "new_id": "73bd1271d3ef536a302e82df4aeb7cf04144898f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/TaskTree.java"
    },
    {
      "type": "modify",
      "old_id": "c970cecd54e89eb01c0f0b3e5a0bfc266df6910b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/properties/AbstractExpander.java",
      "new_id": "ce781d9bbfb98e22f8d34793246e71ab12ca60d8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/properties/AbstractExpander.java"
    },
    {
      "type": "modify",
      "old_id": "591773a445b5a3a8ec7c27140fe99aff790ea48a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/task/properties/Properties.java",
      "new_id": "6177f2b8a871c406dca3675396b94e168d637c1f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/task/properties/Properties.java"
    },
    {
      "type": "modify",
      "old_id": "199306f99841b07255e08beeda3b269b6cab340e",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/test/task_states.md",
      "new_id": "880b9553de6f90a4c9401c446783db50ac584953",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/test/task_states.md"
    }
  ]
}
