Re: Impossible to push my ports directory to my CI/CD pipeline
Date: Tue, 01 Oct 2024 19:37:45 UTC
On Tue, Oct 01, 2024 at 07:04:17PM +0000, Brooks Davis wrote: > On Tue, Oct 01, 2024 at 12:00:30PM +0300, Matthias Fechner wrote: > > Hi Dave, > > > > Am 01.10.2024 um 10:04 schrieb Dave Cottlehuber: > > > I'm curious why you use the `lfs` here, I guess its just to > > > show lfs-related issues, and normally you don't use it? > > > > > > Anyway on a fresh checkout, this works fine: > > > > > > git clone -vv git@gitrepo.freebsd.org:ports.git -b main ports > > > > > > trying `git lfs clone ...` reports: > > > > > > WARNING: 'git lfs clone' is deprecated and will not be updated > > > with new flags from 'git clone' > > > > > > but also has no issues. > > > > > > In either case, `git lfs ls-files` shows nothing. > > > > > > It's not clear to me how git "knows" about lfs, but there are > > > a bunch of XDG_DIR config files that may impact this, viz: > > > > > > https://git-scm.com/docs/gitattributes > > > > > > > If I now try to push to my local repo I get: > > > > > > > > git push origin > > > > Warning: untrusted X11 forwarding setup failed: xauth key data not generated > > > > Locking support detected on remote "origin". Consider enabling it with: > > > > ?? $ git config > > > > lfs.https://gitlab.fechner.net/mfechner/Gitlab.git/info/lfs.locksverify true > > > > Unable to find source for object > > > > 99a670c083e000008ee29dd972b60cbad6ade1d6ec024b30ff45f41da3d19e1d (try > > > My current thinking is there's nothing (as yet) obviously wrong with > > > FreeBSD's git repos, but there's possibly something interacting with gitlab. > > > > > > Can you create a new github repo, and try pushing your ports tree to that, > > > to see if it sees the same issue? > > > > > > Given I can't replicate this here, perhaps there is a $SOMEWHERE}/.config/git/attributes > > > or similar /config file that influences git tooling? > > > > > > I just did a fresh clone: > > git clone git@gitrepo.freebsd.org:ports.git > > > > cd ports > > > > git lfs ls-files --all > > 6d0aef4ba9 - java/eclipse/files/addons/eclipse.platform.swt/binaries/org.eclipse.swt.gtk.freebsd.aarch64/libswt-atk-gtk-4965r11.so > > ed324ddc16 - java/eclipse/files/addons/eclipse.platform.swt/binaries/org.eclipse.swt.gtk.freebsd.aarch64/libswt-awt-gtk-4965r11.so > ... > > > > > > > > so it seems that there is something in the FreeBSD repository. This can maybe > > get only fixed be rewrite the git history, but lets see, I'm currently not > > sure as no one else is seeing this... > > Hmm, this is quite bizzare. It looks like running `git lfs ls-files --all` > causes the repo to be lfs enabled and adds the following to the > .git/config file: > > [lfs] > repositoryformatversion = 0 > > That's surprising and a bit annoying. > > I also see those files listed and they don't exist in the current > checkout. > > Digging further the following commit introduced lfs files: > > commit c94e4ced329298efb06189d1c6db26e3d6ff3eef > Author: Vladimir Druzenko <vvd@FreeBSD.org> > Date: Fri Sep 13 15:54:52 2024 +0300 > > java/eclipse: fix build consumer devel/subversive, commit files > ignored with .gitignore > <...> > > > This commit removed them, but they are still in history so anything that > checks that the full history is intact is now broken: > > commit 3ec21e417cd5752c96b88587a5a605567ba5cd19 > Author: Norbert Grundmann <ngrundmann@gmx.de> > Date: Fri Sep 20 03:14:47 2024 +0300 > > java/eclipse: Remove unnecessary *.so files > <...> I've done some searching at it looks like there are gitlab options to disable the various checks. I don't admin any gitlab instances so don't know how to translate this into something you can use, but: https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/lib/gitlab/checks/lfs_check.rb?ref_type=heads seems to show an lfs_check.objects_missing knob to disable the precommit check. You might also need to disable some lfs integrity checks. -- Brooks