)]}'
{
  "commit": "39fd396421d7b5012e8fb567710ea1c99d67eeab",
  "tree": "3d27db3bd64ef5ee191c388db27b1b3f5f307ed0",
  "parents": [
    "ebd038613ebe3722afe78a1cd33c8de7d77075df"
  ],
  "author": {
    "name": "Brad King",
    "email": "brad.king@kitware.com",
    "time": "Fri Oct 25 09:53:57 2024 -0400"
  },
  "committer": {
    "name": "Brad King",
    "email": "brad.king@kitware.com",
    "time": "Fri Oct 25 10:23:37 2024 -0400"
  },
  "message": "LINK_LIBRARIES_STRATEGY: Rename strategies to clarify expectations\n\nSince commit 7abd3137b7 (Linking: Optionally reorder direct dependencies\nfrom LINK_LIBRARIES, 2024-09-19, v3.31.0-rc1~53^2) the strategy name\n`PRESERVE_ORDER` has led users to expect that it strictly preserves\norder.  While the part of the link line generation logic controlled by\n`LINK_LIBRARIES_STRATEGY` does preserve order, it is not the last step.\nToolchain-specific de-duplication can cause the order to change on the\nactual link line generated in the build system.\n\nRename the strategies:\n\n* `PRESERVE_ORDER` \u003d\u003e `REORDER_MINIMALLY`\n* `REORDER`        \u003d\u003e `REORDER_FREELY`\n\nThe new names make it clear that reordering is always possible, just to\nvarying degrees.  Update the `LINK_LIBRARIES_STRATEGY` documentation to\nclarify that the strategies do not directly control the final link line.\n\nFixes: #26400\nIssue: #26271\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "13a5d523754d1f4e33bb6d88629d23e3f455cead",
      "old_mode": 33188,
      "old_path": "Help/prop_tgt/LINK_LIBRARIES_STRATEGY.rst",
      "new_id": "f8db750152c42cbcf0f13153031b68266cfbd4cc",
      "new_mode": 33188,
      "new_path": "Help/prop_tgt/LINK_LIBRARIES_STRATEGY.rst"
    },
    {
      "type": "modify",
      "old_id": "ab2557b44e1a815f737ed90bc9fab64fa96b65e2",
      "old_mode": 33188,
      "old_path": "Source/cmComputeLinkDepends.cxx",
      "new_id": "551a45b885efba99164c70e1df6fff888a314bc0",
      "new_mode": 33188,
      "new_path": "Source/cmComputeLinkDepends.cxx"
    },
    {
      "type": "modify",
      "old_id": "8b8aba40c1d301309785da7f523c63bf25560607",
      "old_mode": 33188,
      "old_path": "Source/cmComputeLinkDepends.h",
      "new_id": "dc2fa4591f7f56fcf507076cc9b4e410614ffed5",
      "new_mode": 33188,
      "new_path": "Source/cmComputeLinkDepends.h"
    },
    {
      "type": "modify",
      "old_id": "26ff32649a74a1434bffb866468f94bd32ee099b",
      "old_mode": 33188,
      "old_path": "Source/cmComputeLinkInformation.cxx",
      "new_id": "c2c210ba2a7c8f21daeb512c2366277ebba83bcc",
      "new_mode": 33188,
      "new_path": "Source/cmComputeLinkInformation.cxx"
    },
    {
      "type": "delete",
      "old_id": "f3dc0960e5a0ccd177edf6019496f86e3be94fba",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-PRESERVE_ORDER.cmake",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER-run-stdout-dedup-reverse.txt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "8e6237709a51b2f235dec3b14b466d155f829991",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER.cmake",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-PRESERVE_ORDER-run-stdout-dedup-reverse.txt",
      "new_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_FREELY-run-stdout-dedup-reverse.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER-run-stdout-dedup.txt",
      "new_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_FREELY-run-stdout-dedup.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER-run-stdout.txt",
      "new_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_FREELY-run-stdout.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b908fbcdc8a2b01503ffd023ff98510b24acd392",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER-stderr-dedup-reverse.txt",
      "new_id": "b908fbcdc8a2b01503ffd023ff98510b24acd392",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_FREELY-stderr-dedup-reverse.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b908fbcdc8a2b01503ffd023ff98510b24acd392",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER-stderr-dedup.txt",
      "new_id": "b908fbcdc8a2b01503ffd023ff98510b24acd392",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_FREELY-stderr-dedup.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b908fbcdc8a2b01503ffd023ff98510b24acd392",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER-stderr.txt",
      "new_id": "b908fbcdc8a2b01503ffd023ff98510b24acd392",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_FREELY-stderr.txt",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ea38b5be36345dff4a5ecbd7d7570e18a30400af",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_FREELY.cmake"
    },
    {
      "type": "copy",
      "old_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-PRESERVE_ORDER-run-stdout-dedup-reverse.txt",
      "new_id": "7e46d1ba7303a256f7e0a905ab02c694a5206149",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_MINIMALLY-run-stdout-dedup-reverse.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "6ef12ebe0adb4cabc12ddf931d6a7ecda8e61345",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-PRESERVE_ORDER-run-stdout-dedup.txt",
      "new_id": "6ef12ebe0adb4cabc12ddf931d6a7ecda8e61345",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_MINIMALLY-run-stdout-dedup.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "6ef12ebe0adb4cabc12ddf931d6a7ecda8e61345",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-PRESERVE_ORDER-run-stdout.txt",
      "new_id": "6ef12ebe0adb4cabc12ddf931d6a7ecda8e61345",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_MINIMALLY-run-stdout.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7d91beee6e5a4fdbe9abc10aa39920398ba323d0",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-PRESERVE_ORDER-stderr-dedup-reverse.txt",
      "new_id": "7d91beee6e5a4fdbe9abc10aa39920398ba323d0",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_MINIMALLY-stderr-dedup-reverse.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "d4bccc434a3ff0d49400a822730d7c9ba343e76b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-PRESERVE_ORDER-stderr-dedup.txt",
      "new_id": "d4bccc434a3ff0d49400a822730d7c9ba343e76b",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_MINIMALLY-stderr-dedup.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7e9a1cdf4b45026743ac38ce4be485df43937acf",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-PRESERVE_ORDER-stderr.txt",
      "new_id": "7e9a1cdf4b45026743ac38ce4be485df43937acf",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_MINIMALLY-stderr.txt",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "12876b11f0d4623ff4a18ea2af161519a2c1e4b4",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Basic-REORDER_MINIMALLY.cmake"
    },
    {
      "type": "delete",
      "old_id": "9f694db39dd327590dbbe7f41125d9e9e54842db",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Duplicate-PRESERVE_ORDER.cmake",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "cc51e0a8a7c17735bd2e43ce38f7129372de7e52",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Duplicate-REORDER.cmake",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "2353288be0a3cb385b36864e7e5c0fc54d311855",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Duplicate-REORDER-stderr.txt",
      "new_id": "2353288be0a3cb385b36864e7e5c0fc54d311855",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Duplicate-REORDER_FREELY-stderr.txt",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c205fad6b1177aca6abed64129fbe8566032f40d",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Duplicate-REORDER_FREELY.cmake"
    },
    {
      "type": "rename",
      "old_id": "2637f9326d1830bf525d30bbc5e7e6ba59b0b42a",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/Duplicate-PRESERVE_ORDER-stderr.txt",
      "new_id": "2637f9326d1830bf525d30bbc5e7e6ba59b0b42a",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Duplicate-REORDER_MINIMALLY-stderr.txt",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6d4545b397f83f0c69dfb63cf17568e29a245771",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/Duplicate-REORDER_MINIMALLY.cmake"
    },
    {
      "type": "modify",
      "old_id": "eb107eda87a1b0ed160ca7c0d45676dc4b6bde4b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/LinkLibrariesStrategy/RunCMakeTest.cmake",
      "new_id": "787b6363257c8726e043e3951161604d87d7357b",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/LinkLibrariesStrategy/RunCMakeTest.cmake"
    }
  ]
}
