Johannes Schindelin wrote: > > More than one major project; they also broke git-annex in the case where > > a git-annex repository, which contains symlinks into > > .git/annex/objects/, is pushed to a bare repository with > > receive.fsckObjects set. (Gitlab is currently affected[1].) > > This added fsck functionality was specifically marked as `WARN` instead of > `ERROR`, though. So it should not have failed. A git push into a bare repository with receive.fsckobjects = true fails: joey@darkstar:~/tmp/bench/bar.git>git config --list |grep fsck receive.fsckobjects=true joey@darkstar:~/tmp/bench/bar.git>cd .. joey@darkstar:~/tmp/bench>cd foo joey@darkstar:~/tmp/bench/foo>git push ../bar.git master Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 12 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 324 bytes | 324.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) remote: error: object ea461949b973a70f2163bb501b9d74652bde9e30: symlinkPointsToGitDir: symlink target points to git dir remote: fatal: fsck error in pack objects error: remote unpack failed: unpack-objects abnormal exit To ../bar.git ! [remote rejected] master -> master (unpacker error) error: failed to push some refs to '../bar.git' So I guess that the WARN doesn't work like you expected it to in this case of receive.fsckobjects checking. > > This means that symlinks to eg "git~1" are also warned about, > > which seems strange behavior on eg Linux. > > Only until you realize that there are many cross-platform projects, and > that Windows Subsystem for Linux is a thing. I realize that of course, but I also reserve the right to make git repos that contain files named eg "CON" if I want to. Git should not demand filename interoperability with arbitrary OSes. > > + backslash = memchr(p, '\\', slash - p); > > > > This and other backslash handling code for some reason is also run on > > linux, so a symlink to eg "ummmm\\git~1" is also warned about. > > Right. As far as I can tell, there are very few Linux-only projects left, > so this is in line with many (most?) projects being cross-platform. We may have very different lived experiences then. -- see shy jo
Attachment:
signature.asc
Description: PGP signature