)]}'
{
  "commit": "e5c376533409a75598b4022f4245d4e66dcafe4d",
  "tree": "da5226f1e083c666262b98c41b0ca8a49d6b9d87",
  "parents": [
    "27a541e0b5518f4b19eddeb14cc4d103d66697a3"
  ],
  "author": {
    "name": "Guillaume Nodet",
    "email": "gnodet@gmail.com",
    "time": "Sat Sep 26 19:12:10 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Sep 26 19:12:10 2026 +0200"
  },
  "message": "feat: introduce ChangeDetection strategy for file copy (MRESOURCES-453)\n\n- Add ChangeDetection enum with 5 strategies: TIMESTAMP, CONTENT (default), TIMESTAMP_AND_CONTENT, ALWAYS, NEVER\n- New changeDetection field on AbstractMavenFilteringRequest and Resource (per-resource override takes precedence)\n- New FilteringUtils.copyFile(…, ChangeDetection) overload returning boolean (true\u003dwritten, false\u003dskipped); old boolean overwrite signature deprecated\n- New MavenFileFilter.copyFileWithResult(…, ChangeDetection) method\n- DefaultMavenResourcesFiltering logs \"Copying file X\" or \"Skipping file X (up to date)\" based on actual copy outcome\n- MavenResourcesExecution.isOverwrite()/setOverwrite() deprecated, now delegate through ChangeDetection\n- Port of maven-filtering-3.x commit d9bc10a to master (Path-based API)\n- Fixes apache/maven-resources-plugin#453, #286, #316",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "79e484e14cdbce9a0890f7768554f3f7d63f4dc9",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java",
      "new_id": "59bca30cd715dc1d568dfc21a767d11670678a5e",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e3f2633748f07c4c88a08cfb9ef22759be6cbf69",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/maven/shared/filtering/ChangeDetection.java"
    },
    {
      "type": "modify",
      "old_id": "e0ad67a4d4ccd327b45adc666efe1943b3bf2a56",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java",
      "new_id": "0758e37ceb4b4216dd40d15832dc7402ba67c7a7",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java"
    },
    {
      "type": "modify",
      "old_id": "b931fbda34737a4482c2d8b82f448004604ccbf2",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java",
      "new_id": "ee601d7112bb3c98bf299b24a503aa03e9afc4c9",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java"
    },
    {
      "type": "modify",
      "old_id": "d8fcc8d5a080b2e44f2f46f4c65649aa3e90f25b",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/maven/shared/filtering/FilteringUtils.java",
      "new_id": "204c0cc42686673cd096ad60586d0ba7202960ba",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/maven/shared/filtering/FilteringUtils.java"
    },
    {
      "type": "modify",
      "old_id": "97307430fe2dbc9c6050337ab57d415cb465af6b",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java",
      "new_id": "b66f83026298490e342300fa96df482bca481f5d",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java"
    },
    {
      "type": "modify",
      "old_id": "80e50c455dc674cc88d647cdd012c621b1c23745",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java",
      "new_id": "b9cadd635e371835fede9654f786928b86927bda",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java"
    },
    {
      "type": "modify",
      "old_id": "f2b83eef110643eac04b0c1388dadfeeb01e7842",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/maven/shared/filtering/Resource.java",
      "new_id": "019d88082ca1f9babff377c0646fff8ea95b6dfa",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/maven/shared/filtering/Resource.java"
    }
  ]
}
