)]}'
{
  "commit": "ceeea4e511d658b249615e5c98231f070aaedeb9",
  "tree": "48623570bef921bf485136b33f64e404257eadc4",
  "parents": [
    "2f5cc6afa1f9561783193c4541bf1149b3f63fa8"
  ],
  "author": {
    "name": "Craig Scott",
    "email": "craig.scott@crascit.com",
    "time": "Sun Aug 18 22:38:02 2024 +1000"
  },
  "committer": {
    "name": "Craig Scott",
    "email": "craig.scott@crascit.com",
    "time": "Fri Aug 23 09:42:13 2024 +1000"
  },
  "message": "cmake_parse_arguments: Set variable if empty string given after keyword\n\nIf a single-value keyword is followed by an empty string, the\ncommand unsets the variable for that keyword instead of setting\nit to the empty string. This is inconsistent and unexpected. Add\npolicy CMP0174 which ensures the variable for a single-value\nkeyword is always set when any value is given, not just for a\nnon-empty value.\n\nThe new CMP0174 policy only affects the PARSE_ARGV form of\ncmake_parse_arguments. The older form silently drops all empty\nstring arguments before processing the argument list.\n\nFixes: #25972\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0bb1d91bb1be409c803d6a6563342a64df070600",
      "old_mode": 33188,
      "old_path": "Help/command/cmake_parse_arguments.rst",
      "new_id": "70dbeeb37e9348361c19a1a91e8afdfbc47188a5",
      "new_mode": 33188,
      "new_path": "Help/command/cmake_parse_arguments.rst"
    },
    {
      "type": "modify",
      "old_id": "4130e14ba0644cca917e215ecffe0c84566ef264",
      "old_mode": 33188,
      "old_path": "Help/manual/cmake-policies.7.rst",
      "new_id": "e257c361600d21cc24177d8188a2fa027320ee5d",
      "new_mode": 33188,
      "new_path": "Help/manual/cmake-policies.7.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bde0a038a0b406fcd628df82d8a5202f20b93bd2",
      "new_mode": 33188,
      "new_path": "Help/policy/CMP0174.rst"
    },
    {
      "type": "modify",
      "old_id": "9b1e76bb60111651c5a58cc5938e4a0a2bdb8cfd",
      "old_mode": 33188,
      "old_path": "Source/cmParseArgumentsCommand.cxx",
      "new_id": "f6e793727644f2d653ce47cb85710c46ebc7de72",
      "new_mode": 33188,
      "new_path": "Source/cmParseArgumentsCommand.cxx"
    },
    {
      "type": "modify",
      "old_id": "2c3763fa4d007294ab8dfb00f4b8e37d7b761188",
      "old_mode": 33188,
      "old_path": "Source/cmPolicies.h",
      "new_id": "7b056aeba37e698f10a92c2c4636a9cb1aaa26fd",
      "new_mode": 33188,
      "new_path": "Source/cmPolicies.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b87306e9391fe46b26154288bb27211b7690009",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/cmake_parse_arguments/CornerCasesArgvN-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "807ed03e1e4e738a5d6ccd31b7c13b2a5066c10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/cmake_parse_arguments/CornerCasesArgvN.cmake",
      "new_id": "04c0219d776e0d89cc2efc9c379dcfec3f1e546b",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/cmake_parse_arguments/CornerCasesArgvN.cmake"
    },
    {
      "type": "modify",
      "old_id": "9ce99b8a4dd30db8785459f53188ac2d54425afb",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/cmake_parse_arguments/test_utils.cmake",
      "new_id": "23b804e354247d90b75f8f191c2567efc5172049",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/cmake_parse_arguments/test_utils.cmake"
    }
  ]
}
