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

This commit is contained in:
Joey Hess 2024-05-21 11:53:34 -04:00
commit be8de26b68
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
5 changed files with 65 additions and 0 deletions

View file

@ -0,0 +1,24 @@
Today, I got the strange error below. I unlocked a file, and edited it, and attempted to sync, when I saw the error.
```
remote: error: object a86b9c49d9ef8c88c3180013eef3da5f6ffa9353: symlinkPointsToGitDir: symlink target points to git dir
remote: error: object ebb743ffb44e23c54a7e3ed44a444cc0ed0df42d: symlinkPointsToGitDir: symlink target points to git dir
remote: fatal: fsck error in pack objects
error: remote unpack failed: unpack-objects abnormal exit
To gitlab.com:daraul/taskwarrior.git
! [remote rejected] git-annex -> synced/git-annex (unpacker error)
! [remote rejected] master -> synced/master (unpacker error)
error: failed to push some refs to 'gitlab.com:daraul/taskwarrior.git'
remote: error: object a86b9c49d9ef8c88c3180013eef3da5f6ffa9353: symlinkPointsToGitDir: symlink target points to git dir
remote: error: object ebb743ffb44e23c54a7e3ed44a444cc0ed0df42d: symlinkPointsToGitDir: symlink target points to git dir
remote: fatal: fsck error in pack objects
error: remote unpack failed: unpack-objects abnormal exit
To gitlab.com:daraul/taskwarrior.git
! [remote rejected] master -> master (unpacker error)
```
It's strange because I've done this unlock, edit, and sync, flow a few times in the past week, with no problems. I've only been able to find one reference point for this, in [git's own documentation](https://git-scm.com/docs/git-fsck#Documentation/git-fsck.txt-codesymlinkPointsToGitDircode).
It's very concerning because it prevents me from syncing with my remote repository at all. I was able to work around the problem with `git reset HEAD~` so I could at least get a few changes sent to my remote, but that meant I lost all the changes I made to the file itself.
Can anyone say what the problem might be here? Why does git suddenly seem upset that I've got a symlink pointing at my git directory?

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="nobodyinperson"
avatar="http://cdn.libravatar.org/avatar/736a41cd4988ede057bae805d000f4f5"
subject="Seeing this for the first time today as well"
date="2024-05-21T10:41:08Z"
content="""
I just got the same weird error `git annex assist`ing to GitLab with git annex 10.20240129.
"""]]

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="nobodyinperson"
avatar="http://cdn.libravatar.org/avatar/736a41cd4988ede057bae805d000f4f5"
subject="Probably not git annex related, but a new git 'feature'"
date="2024-05-21T10:49:58Z"
content="""
Apparently, very recent git (https://github.com/git/git/commit/a33fea0886cfa016d313d2bd66bdd08615bffbc9) got a check for symlinks pointing to the git dir, causing the remote to reject such commits. Brilliant idea to implement something like that... 🤦 GitLab seems to have that new git version.
"""]]

View file

@ -0,0 +1,15 @@
[[!comment format=mdwn
username="datamanager"
avatar="http://cdn.libravatar.org/avatar/7d4ca7c5e571d4740ef072b83a746c12"
subject="Not git's fault, but probably your forge's"
date="2024-05-21T13:12:22Z"
content="""
I don't think this is git's fault, but my gitlab's. The commit says that setting
`fsck.symlinkPointsToGitDir` to `warn` should avoid the problem. It seems,
however, that gitlab has it set to `error` -- your forge probably has the same
setting as well. I can think of only two solutions:
1. Ask gitlab for recourse: maybe they can respect the setting in your local repository
2. Change to a forge that has it set to `warn`
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="nobodyinperson"
avatar="http://cdn.libravatar.org/avatar/736a41cd4988ede057bae805d000f4f5"
subject="comment 4"
date="2024-05-21T13:25:54Z"
content="""
Yup, that's my understanding as well. I made a [forum post](https://forum.gitlab.com/t/recent-git-v2-45-1-breaks-git-annex-compatibility/104909/1) at GitLab, but it's still under the noob-posting-spam-protection... Forgejo apparently doesn't exhibit this behaviour btw.
"""]]