git-push.txt: document the behavior of --repo
[gitweb.git] / fsck.c
diff --git a/fsck.c b/fsck.c
index 8223780592598d923c0c6807a23d67461b5c1f4e..5e6723d410532a6e8eec100c524d4e4c24d4a4f4 100644 (file)
--- a/fsck.c
+++ b/fsck.c
@@ -6,6 +6,7 @@
 #include "commit.h"
 #include "tag.h"
 #include "fsck.h"
+#include "utf8.h"
 
 static int fsck_walk_tree(struct tree *tree, fsck_walk_func walk, void *data)
 {
@@ -170,7 +171,9 @@ static int fsck_tree(struct tree *item, int strict, fsck_error error_func)
                has_empty_name |= !*name;
                has_dot |= !strcmp(name, ".");
                has_dotdot |= !strcmp(name, "..");
-               has_dotgit |= !strcmp(name, ".git");
+               has_dotgit |= (!strcmp(name, ".git") ||
+                              is_hfs_dotgit(name) ||
+                              is_ntfs_dotgit(name));
                has_zero_pad |= *(char *)desc.buffer == '0';
                update_tree_entry(&desc);
 
@@ -339,7 +342,7 @@ static int fsck_commit_buffer(struct commit *commit, const char *buffer,
 
 static int fsck_commit(struct commit *commit, fsck_error error_func)
 {
-       const char *buffer = get_commit_buffer(commit);
+       const char *buffer = get_commit_buffer(commit, NULL);
        int ret = fsck_commit_buffer(commit, buffer, error_func);
        unuse_commit_buffer(commit, buffer);
        return ret;