### Please describe the problem. Identically configured remotes behave differently in the "git annex push" command after "git annex sync" to only one of them. ### What steps will reproduce the problem? I have a repository on Linux and two USB backup sticks, all Ext4 file system. At one point I accidentally did "git annex sync music-backup-one". When I now "git annex push music-backup-two" it works as expected and I see the correct files on the stick and "git annex list" shows the content correctly. This is not true for "git annex push music-backup-one" as I must also issue "git annex mirror . --to=music-backup-one" for the content and "git annex list" to be correct (both commands are required in either order). How do I diagnose the problem so push works without the need for mirror on music-backup-one? During my investigation, I noticed the filemode (executable) bit for annexed files is not transferred to either USB drive if that is the only change (perhaps a separate issue). ### What version of git-annex are you using? On what operating system? 10.20231130-g0e9bc415882a5e3a285e004cf9f80936e5762a07 ### Please provide any additional information below. [[!format sh """ # If you can, paste a complete transcript of the problem occurring here. # If the problem is with the git-annex assistant, paste in .git/annex/daemon.log All three repos have: 'annex.largefiles' set to 'mimeencoding=binary', 'group' set to 'manual' 'wanted' set to 'standard' and 'numcopies' set to 3. desktop-music has adjust option --unlock and the two backups have option --lock. Here is the contents of .git/config for desktop-music: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [annex] uuid = 0045d866-c80e-43c1-9b1b-b15a8c97c1aa version = 10 adjustedbranchrefresh = true [filter "annex"] smudge = git-annex smudge -- %f clean = git-annex smudge --clean -- %f process = git-annex filter-process [push] followTags = true [receive] denyCurrentBranch = updateInstead [remote "music-backup-one"] url = /media/juanito/music-backup-one/music-library fetch = +refs/heads/*:refs/remotes/music-backup-one/* annex-uuid = 0b439b9f-16c7-4945-8cb2-9d6084677af3 [remote "music-backup-two"] url = /media/juanito/music-backup-two/music-library fetch = +refs/heads/*:refs/remotes/music-backup-two/* annex-uuid = 74a6b33c-fea2-45ef-a0c5-b677b43bc85f [remote "github"] url = git@github.com:not-for-you.git fetch = +refs/heads/*:refs/remotes/github/* annex-ignore = true [remote "itunes-media"] annex-directory = /home/juanito/annex-remotes/itunes-media annex-uuid = e18dbc8e-8e0f-47f2-8f33-e8eb9da97a62 skipFetchAll = true annex-tracking-branch = main:Music [remote "linux-media"] annex-directory = /home/juanito/annex-remotes/linux-media annex-uuid = b4efca25-5be6-4ea5-b0f9-207770abf21b skipFetchAll = true annex-tracking-branch = main:Music Here is the contents of .git/config for music-backup-one: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "desktop-music"] url = /home/juanito/git/music-library fetch = +refs/heads/*:refs/remotes/desktop-music/* annex-uuid = 0045d866-c80e-43c1-9b1b-b15a8c97c1aa [branch "adjusted/main(unlocked)"] remote = desktop-music merge = refs/heads/adjusted/main(unlocked) [annex] uuid = 0b439b9f-16c7-4945-8cb2-9d6084677af3 version = 10 adjustedbranchrefresh = true [filter "annex"] smudge = git-annex smudge -- %f clean = git-annex smudge --clean -- %f process = git-annex filter-process [push] followTags = true [receive] denyCurrentBranch = updateInstead Here is the contents of .git/config for music-backup-two: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "desktop-music"] url = /home/juanito/git/music-library fetch = +refs/heads/*:refs/remotes/desktop-music/* annex-uuid = 0045d866-c80e-43c1-9b1b-b15a8c97c1aa [branch "adjusted/main(unlocked)"] remote = desktop-music merge = refs/heads/adjusted/main(unlocked) [annex] uuid = 74a6b33c-fea2-45ef-a0c5-b677b43bc85f version = 10 adjustedbranchrefresh = true [filter "annex"] smudge = git-annex smudge -- %f clean = git-annex smudge --clean -- %f process = git-annex filter-process [push] followTags = true [receive] denyCurrentBranch = updateInstead # End of transcript or log. """]] ### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)