Re: Impossible to push my ports directory to my CI/CD pipeline

From: Brooks Davis <brooks_at_freebsd.org>
Date: Tue, 01 Oct 2024 19:04:17 UTC
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
<...>

-- Brooks