aboutsummaryrefslogtreecommitdiffstats
path: root/dir.h
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2024-04-10 22:04:48 +0200
committerJohannes Schindelin <johannes.schindelin@gmx.de>2024-04-19 12:38:50 +0200
commit8e97ec3662a54b07e4c19bb761e95cf87bd54364 (patch)
treedf6bcdd503eb7093979e0c26581d0f3e3be379da /dir.h
parent0d464a4e6a5a19bd8fbea1deae22d48d14dccb01 (diff)
parentbabb4e5d7107ba730beff8d224e4bcf065533e0b (diff)
downloadgit-8e97ec3662a54b07e4c19bb761e95cf87bd54364.tar.gz
Sync with 2.42.2
* maint-2.42: (39 commits) Git 2.42.2 Git 2.41.1 Git 2.40.2 Git 2.39.4 fsck: warn about symlink pointing inside a gitdir core.hooksPath: add some protection while cloning init.templateDir: consider this config setting protected clone: prevent hooks from running during a clone Add a helper function to compare file contents init: refactor the template directory discovery into its own function find_hook(): refactor the `STRIP_EXTENSION` logic clone: when symbolic links collide with directories, keep the latter entry: report more colliding paths t5510: verify that D/F confusion cannot lead to an RCE submodule: require the submodule path to contain directories only clone_submodule: avoid using `access()` on directories submodules: submodule paths must not contain symlinks clone: prevent clashing git dirs when cloning submodule in parallel t7423: add tests for symlinked submodule directories has_dir_name(): do not get confused by characters < '/' ...
Diffstat (limited to 'dir.h')
-rw-r--r--dir.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/dir.h b/dir.h
index 98aa85fcc0..d72a732f2b 100644
--- a/dir.h
+++ b/dir.h
@@ -549,6 +549,13 @@ int fspathncmp(const char *a, const char *b, size_t count);
unsigned int fspathhash(const char *str);
/*
+ * Reports whether paths collide. This may be because the paths differ only in
+ * case on a case-sensitive filesystem, or that one path refers to a symlink
+ * that collides with one of the parent directories of the other.
+ */
+int paths_collide(const char *a, const char *b);
+
+/*
* The prefix part of pattern must not contains wildcards.
*/
struct pathspec_item;