Re: Impossible to push my ports directory to my CI/CD pipeline
Date: Wed, 02 Oct 2024 15:29:00 UTC
On Wed, Oct 2, 2024, 9:26 AM Brooks Davis <brooks@freebsd.org> wrote: > On Tue, Oct 01, 2024 at 07:37:00PM +0000, Shawn Webb wrote: > > On Mon, Sep 30, 2024 at 01:09:32PM UTC, Matthias Fechner wrote: > > > Dear all, > > > > > > I already tried to address that problem on the all-developer list, but > it is > > > maybe better to put it here. > > > I think by accident someone pushed LFS object with a commit of > java/eclipse. > > > > > > git remote -v > > > freebsd git@gitrepo.freebsd.org:ports.git (fetch) > > > freebsd git@gitrepo.freebsd.org:ports.git (push) > > > freebsd-https?? https://git.freebsd.org/ports.git (fetch) > > > freebsd-https?? https://git.freebsd.org/ports.git (push) > > > githubfreebsd?? https://github.com/freebsd/freebsd-ports.git (fetch) > > > githubfreebsd?? https://github.com/freebsd/freebsd-ports.git (push) > > > origin? git@gitlab.fechner.net:mfechner/Gitlab.git (fetch) > > > origin? git@gitlab.fechner.net:mfechner/Gitlab.git (push) > > > > > > git lfs fetch --all freebsd > > > fetch: 22 object(s) found, done. > > > fetch: Fetching all references... > > > [99a670c083e000008ee29dd972b60cbad6ade1d6ec024b30ff45f41da3d19e1d] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [c89e491472c8af1d153e2e2801836fad0e38f428d0250ed982e16baa5effbe4f] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [f7db6794c6c3e7a03a3987537b8a0cdb1bde2996ed7c7eec50f2e5df1e7a30c2] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [e8e2d306fd11358a07b4ee10bfef19de3b518793568fc498cdd989170d31712b] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [5dbe70b5c83520df09c100815bb164c8903da5eb8bffbd094aaaed54b212d73a] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [8813907b0f7b001080a346ed2d0307a1c749b85688fdfa1d270fe59a07aa3909] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [1d41b04bdd4115c52aac8177e1b899403a3d7d9f6d147cd864463029648a4714] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [c0155fc8e7c4b9736d81db638fed95bc9ff297453bfd0bbd7dd5d882ebca6e89] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [6d0aef4ba9e96d4c63baae8db9cdce7c634140a2bda7da670e698e38e0df57ce] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [a928176ec92ad347404b2454e5f4f321aaef8ba862a60b0c28adc3bdcc619a4a] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [42fa73302624dc511e6d8958c66c82f31b8d9155f2980343b6bcdc25345e1dcd] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [ed324ddc16ccb8b9fab3041da394b844166b6778c39cd12708bcade05b41c0da] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [9ef847d4e699b5dbe49ac74ee35596fdddc22c6335bc96affee19a99ecd077f5] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [f5417c277c6ca509334010bb6999c56c3ab5d3751204c74dc00c2fa25d93dfae] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [a1ffa591430df806983c8798113264f12ea679bce4b785d70d2868dc91cec883] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [b2e525c38598dac6885a75e7eaffa346c8aca3dbdda73cb0275f50103ec3d245] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [5db9424884396cf5bfc46a6b22dacbe245f43a7e1eda6aeac831905dc921802e] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [b5e05ef77effb4048e72e38605700151fdf4eae214cfa358e9e81a48e124cb52] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [ca2c21bf21e1fa2f53c72653ea57e76506c305bdd44c6416542ebbf2ab8b1b83] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [4fc786126dd64f936554a12c4752787c4989453654fc5d6fd119b6e5eeafec6f] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > [f56db5e81304e441260b84d6c2805ae7050ea56760d763d2b32e6be928fa1cae] > Object > > > does not exist on the server: [404] Object does not exist on the server > > > error: failed to fetch some objects from > > > 'https://github.com/freebsd/freebsd-ports.git/info/lfs' > > > > > > I have my own testing pipeline in place to automatically test my > commits > > > against changes I did to ports. > > > > > > But as LFS is now in the FreeBSD repository, but the files cannot be > > > retrieved from the FreeBSD repository I'm now locked out for my CI/CD > > > pipeline and my automated tests. > > > > > > 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 > > > running git lfs fetch --all) > > > Uploading LFS objects:?? 0% (0/21), 0 B | 0 B/s, done. > > > error: failed to push some refs to 'gitlab.fechner.net: > mfechner/Gitlab.git' > > > > > > Does anyone have an idea how that can be fixed? > > > > Hey Matthias, > > > > With commit c94e4ced329298efb06189d1c6db26e3d6ff3eef[1], FreeBSD > > introduced LFS objects into the ports git history. This commit was > > reverted with commit 3ec21e417cd5752c96b88587a5a605567ba5cd19[2]. > > > > Even though the offending commit was reverted, the git commit history > > still contains LFS references. This caused HardenedBSD's self-hosted > > GitLab to become unhappy in exactly the same way yours did. > > > > I ended up disabling LFS for the ports repo in the GitLab side. This > > caused GitLab to become happy again. Problem is, now everyone > > downstream from us (and FreeBSD, too) will need to disable LFS on > > their repos/forks, too. > > I'm curious if you can turn LFS back on once the broken change is past? > That that ports should ever use LFS, but it seems somewhat better if > GitLab configs only need to be non-default during bootstrapping. > > At this point there's probably nothing to be done other than workarounds > as rewriting history to remove this stuff would be quite disruptive > after several weeks of commits. > > We could really use some hooks to block both things that look like lfs > metadata and submodule bits. (The latter is somewhat challenging in that > we need to allow them on the vendor side to support OpenZFS.) > I didn't think we imported the submodules of OpenZFS to the vendor branch, except to the extent that data was plain files in that import not otherwise used... Warner > >