--- /dev/null
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2025-05-22T17:07:32Z"
+ content="""
+> (datalad) [f006rq8@discovery-01 ds-perms]$ ls -l by-git-*
+> -rwxrwx---+ 1 f006rq8 rc-DBIC 5 Oct 16 15:05 by-git-add
+> -rwxrwx---+ 1 f006rq8 rc-DBIC 5 Oct 16 15:05 by-git-annex-add
+
+git-annex is seeing these files as executable for the same reason that `ls`
+displays them as having `x` set. `stat()` is getting populated with values
+based on the ACLs.
+
+I was able to reproduce that with `setfacl -m user::rwx-`,
+run on a regular ext4 filesystem. Doing that to a file makes `ls`
+display the owner x bit, as well as "+".
+
+But then, `git add` added the file as executable too.
+So `git add` and `git-annex add` are behaving the same for me with ACLs.
+
+ joey@darkstar:~/tmp/acl>touch foo
+ joey@darkstar:~/tmp/acl>touch bar
+ joey@darkstar:~/tmp/acl>setfacl -m user::rwx- foo
+ joey@darkstar:~/tmp/acl>setfacl -m user::rwx- bar
+ joey@darkstar:~/tmp/acl>git config 'annex.largefiles' 'nothing'
+ joey@darkstar:~/tmp/acl>git add foo
+ joey@darkstar:~/tmp/acl>git-annex add bar
+ joey@darkstar:~/tmp/acl>git diff --cached
+ diff --git a/foo b/foo
+ new file mode 100755
+ index 0000000..e69de29
+ diff --git a/bar b/bar
+ new file mode 100755
+ index 0000000..e69de29
+
+My guess is that something about your specific ACLs or your filesystem
+is making git behave differently. Perhaps it's using a different variant
+of the stat syscall which behaves differently than the stat git-annex does
+in your specific situation somehow.
+
+With the x acl set, and without the x bit manually set, I am able to actually
+execute the files. So it seems to me, if git chose to add the file without
+the exeucte bit set, that would be a bug in git? After all, if I have a build
+system that relies on executing a file that I can execute it, checking the file
+into git and cloning should let me execute the file in the clone.
+"""]]