git-annex/doc/bugs/identically_configured_remotes_behave_differently.mdwn
jstritch 181e14467f
2024-01-11 18:24:52 +00:00

134 lines
4.4 KiB
Markdown

### 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)