Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2024-01-12 13:52:04 -04:00
commit 3fbc5d9c7e
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 173 additions and 0 deletions

View file

@ -0,0 +1,134 @@
### 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)

View file

@ -0,0 +1,16 @@
[[!comment format=mdwn
username="TTTTAAAx"
avatar="http://cdn.libravatar.org/avatar/9edd4b69b9f9fc9b8c1cb8ecd03902d5"
subject="comment 75"
date="2024-01-11T14:15:58Z"
content="""
Can I make armv7 version for alpine Linux? Or WASM?
`git-annex` can't run on iOS without jailbreak.
The only way is to build it on iSH or A-shell.
git-annex(aarch64) is already provided on alpine repo. But iSH supports only armv7. So I can't install git-annex. I tried to build ghc for armv7. But the Haskell foundation has dropped supporting the armv7 since ghc-9.
A-shell needs WASI binary. I tried ghc-wasm-meta to compile git-annex to WASI binary, But I couldn't handle package version conflicts inside git-annex.
"""]]

View file

@ -0,0 +1,15 @@
[[!comment format=mdwn
username="TTTTAAAx"
avatar="http://cdn.libravatar.org/avatar/9edd4b69b9f9fc9b8c1cb8ecd03902d5"
subject="comment 6"
date="2024-01-11T13:58:27Z"
content="""
Since git 1.8.5, `git mv projects/2023/prj_1 archives/2023/prj_1` can update local path of submodule.
Currently, `git-annex` doesn't detect submodule path changed and Just moving parent directories breaks git-modules thoroughly.
The only way I found is to move all submodule to another tree structure one by one using `git mv ...`.
If the parent directory name(e.g: projects->01_Projects) or its depth was changed by chance, all submodules inside the directory are broken.
So I cannot use submodules to handle source code in my git-annex repo.
Is there an easy (cool) way for this?
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="nobodyinperson"
avatar="http://cdn.libravatar.org/avatar/736a41cd4988ede057bae805d000f4f5"
subject="Try datalad"
date="2024-01-12T09:23:16Z"
content="""
Sounds like you might want to use [datalad](https://datalad.org), which is built around git annex and where submodules are a first-class citizen.
"""]]