)]}'
{
  "commit": "f5b2af06f55c0f21ae0199be5fe120f2cccd698b",
  "tree": "8a247278428ea30cef8baeb0d98e425f3fb51028",
  "parents": [
    "fb7d80edcae482f4fa5d4be0227dc3054734e5f3",
    "b9b439e0e3a543ddb920e4cf8d3c9d53f730111f"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Wed Apr 17 11:38:18 2024 +0200"
  },
  "committer": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Fri Apr 19 12:38:42 2024 +0200"
  },
  "message": "Sync with 2.40.2\n\n* maint-2.40: (39 commits)\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  docs: document security issues around untrusted .git dirs\n  upload-pack: disable lazy-fetching by default\n  ...\n",
  "tree_diff": []
}
