[[!meta title="git-annex adjust --unlock does not copy execute bit of object files"]]

It seems that performing `git annex adjust --unlock-present` or `sync` 
will remove the +x permission from files.

Steps to reproduce:

$ mkdir /tmp/ga; cd /tmp/ga; git init ; git annex init
$ touch a.txt s.sh
$ chmod +x s.sh
$ git annex add . && git annex sync
$ stat -Lc%A s.sh
-r-xr-xr-x
$ git annex adjust --unlock-present
$ stat -c%A s.sh
-rw-r--r--

The permission is removed also after a sync, but only in case other 
files have been changed (and adjust called behind the scenes):

$ chmod +x s.sh
$ git annex sync
$ stat -c%A s.sh
-rwxr-xr-x
$ git annex drop --force a.txt
$ stat -c%A s.sh
-rwxr-xr-x
$ git annex sync
$ stat -c%A s.sh
-rw-r--r--

I'm using git-annex version: 10.20240430-g5b36e6b4 with 
annex.alwayscommit = false.

PS: git-annex is so solid that this is the first data-related issue I've 
ever seen. Kudos!

> [[fixed|done]] --[[Joey]]
