)]}'
{
  "commit": "8e97ec3662a54b07e4c19bb761e95cf87bd54364",
  "tree": "df6bcdd503eb7093979e0c26581d0f3e3be379da",
  "parents": [
    "0d464a4e6a5a19bd8fbea1deae22d48d14dccb01",
    "babb4e5d7107ba730beff8d224e4bcf065533e0b"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Wed Apr 10 22:04:48 2024 +0200"
  },
  "committer": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Fri Apr 19 12:38:50 2024 +0200"
  },
  "message": "Sync with 2.42.2\n\n* maint-2.42: (39 commits)\n  Git 2.42.2\n  Git 2.41.1\n  Git 2.40.2\n  Git 2.39.4\n  fsck: warn about symlink pointing inside a gitdir\n  core.hooksPath: add some protection while cloning\n  init.templateDir: consider this config setting protected\n  clone: prevent hooks from running during a clone\n  Add a helper function to compare file contents\n  init: refactor the template directory discovery into its own function\n  find_hook(): refactor the `STRIP_EXTENSION` logic\n  clone: when symbolic links collide with directories, keep the latter\n  entry: report more colliding paths\n  t5510: verify that D/F confusion cannot lead to an RCE\n  submodule: require the submodule path to contain directories only\n  clone_submodule: avoid using `access()` on directories\n  submodules: submodule paths must not contain symlinks\n  clone: prevent clashing git dirs when cloning submodule in parallel\n  t7423: add tests for symlinked submodule directories\n  has_dir_name(): do not get confused by characters \u003c \u0027/\u0027\n  ...\n",
  "tree_diff": []
}
