Skip to content
Snippets Groups Projects
  1. Jan 24, 2025
  2. Jan 23, 2025
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format with "east const" · 7dec9555
      Kitware Robot authored and Brad King's avatar Brad King committed
      Run the `clang-format.bash` script to update all our C and C++ code to a
      new style defined by `.clang-format`, now with "east const" enforcement.
      Use `clang-format` version 18.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      7dec9555
    • Brad King's avatar
      Empty commit at end of history preceding clang-format "east const" transition · ac2b3378
      Brad King authored
      This is an empty commit that precedes an automatic application of clang-format
      with "east const" to update the C++ style of our entire source tree.
      This may be helpful to rebase a topic branch that was originally
      based on a commit preceding the transition.  One may first rebase
      the topic on this commit.  Then use one of the following approaches.
      
      *   Rewrite the topic, including this commit, using `git filter-branch`
          `--tree-filter` with `clang-format.bash` to update the style in
          every commit.  Rebase the revised topic, excluding the rewrite of
          this commit, on the style transition commit.
      
      OR
      
      *   Add a `.git/info/grafts` entry to change the parent of the first
          commit in the topic from this commit to the style transition commit.
          Rewrite the topic using `git filter-branch --tree-filter` with
          `clang-format.bash` to update the style in every commit.  Then
          remove the graft, which was resolved by the filter.
      
      See `git help filter-branch` and `git help repository-layout` for
      details.
      ac2b3378
    • Brad King's avatar
      a234f2ff
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format-18 · 7a19509c
      Kitware Robot authored and Brad King's avatar Brad King committed
      Run the `clang-format.bash` script to update all our C and C++ code to a
      new style defined by `.clang-format`.  Use `clang-format` version 18.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      7a19509c
    • Brad King's avatar
      Empty commit at end of history preceding clang-format-18 style transition · 6da5c6ac
      Brad King authored
      This is an empty commit that precedes an automatic application of
      clang-format-18 to update the C++ style of our entire source tree.
      This may be helpful to rebase a topic branch that was originally
      based on a commit preceding the transition.  One may first rebase
      the topic on this commit.  Then use one of the following approaches.
      
      *   Rewrite the topic, including this commit, using `git filter-branch`
          `--tree-filter` with `clang-format.bash` to update the style in
          every commit.  Rebase the revised topic, excluding the rewrite of
          this commit, on the style transition commit.
      
      OR
      
      *   Add a `.git/info/grafts` entry to change the parent of the first
          commit in the topic from this commit to the style transition commit.
          Rewrite the topic using `git filter-branch --tree-filter` with
          `clang-format.bash` to update the style in every commit.  Then
          remove the graft, which was resolved by the filter.
      
      See `git help filter-branch` and `git help repository-layout` for
      details.
      6da5c6ac
    • Brad King's avatar
      clang-format.bash: update to clang-format-18 · a42b7759
      Brad King authored
      The `.clang-format` configuration needs no changes to make the
      version 18 format close to what version 15 produced before.
      a42b7759
    • Nikita Nemkin's avatar
      clang-format.bash: Preserve CRLF line endings on Windows · 4a126278
      Nikita Nemkin authored
      Use the binary mode of GNU sed.
      4a126278
  3. Jan 22, 2025
  4. Jan 21, 2025
  5. Jan 16, 2025
  6. Jan 15, 2025
    • Nick Begg's avatar
      SystemTools: Fix CloneFileContent copy-on-write on macOS / APFS · 2926bae9
      Nick Begg authored and Brad King's avatar Brad King committed
      `SystemTools::CloneFileContent()` attempts to clone a file using the
      underlying filesystem’s copy-on-write features. The call to macOS’s
      copyfile() was changed to not use COPYFILE_CLONE some time back due to
      it following symlinks - which was not desired. Unfortunately (and the
      manpage for copyfile() really doesn’t make this clear) this disables
      cloning all together.
      
      Go back to using `COPYFILE_CLONE`, but explicitly check for symlinks.
      
      Additionally, add the `COPYFILE_UNLINK` flag. This fixes a second bug
      in the existing implementation - existing files were not overwritten on
      macOS which is inconsistent with the Linux implementation which
      explicitly removes them, as well as calling `open()` with `O_CREAT`.
      In effect this meant that progressively, previously cloned files become
      de-cloned from their source as the built-in blockwise copy gets used
      instead.
      
      Rewrite the method comments which don't seem to have been updated since
      the macOS implementation was added.  The function itself is not
      especially well named anymore.
      
      Verified cloning works using this tool:
      
      * https://github.com/dyorgio/apfs-clone-checker
      
      See also:
      
      * https://wadetregaskis.com/copy-on-write-on-apfs/
      2926bae9
  7. Dec 12, 2024
  8. Nov 30, 2024
  9. Nov 28, 2024
  10. Nov 23, 2024
  11. Nov 22, 2024
  12. Nov 06, 2024
  13. Nov 05, 2024
  14. Nov 04, 2024
  15. Nov 03, 2024
    • Brad King's avatar
      SystemTools: Remove path translation map · 47dce1a3
      Brad King authored
      CMake used this to preserve symlinks through realpath operations, but
      its presence caused some undesired side effects.  Those realpath
      operations are being replaced with a hand-written alternative that
      explicitly preserves symlinks when possible and does not have the side
      effects.  Therefore we no longer need the path translation map.
      
      Issue: cmake/cmake#16228
      47dce1a3
  16. Nov 01, 2024
  17. Oct 31, 2024
  18. Oct 28, 2024
  19. Oct 25, 2024
  20. Oct 24, 2024
  21. Oct 23, 2024
Loading