From 36fe1c1e8aa3fe0d42a7c29268a31a3efe22e327 Mon Sep 17 00:00:00 2001 From: Cobb Date: Fri, 17 Apr 2026 11:36:59 -0700 Subject: [PATCH] ci(upstream-sync): allow incomplete LFS push MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-lfs's pre-push hook rejects pushes that reference LFS objects the local checkout doesn't have. Since we skipped smudge on checkout (GIT_LFS_SKIP_SMUDGE=1), no LFS content is local. But we're only pushing branch pointers — no new LFS bytes to upload. Tell lfs to allow the incomplete push via 'git config lfs.allowincompletepush true', per the hint the hook itself prints. --- .gitea/workflows/upstream-sync.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitea/workflows/upstream-sync.yml b/.gitea/workflows/upstream-sync.yml index 69d1d668d2..10487d3013 100644 --- a/.gitea/workflows/upstream-sync.yml +++ b/.gitea/workflows/upstream-sync.yml @@ -54,6 +54,11 @@ jobs: set -euo pipefail git config user.name "sulkta-bot" git config user.email "bot@sulkta.com" + # git-lfs pre-push hook refuses incomplete pushes — which triggers + # here because we skipped LFS smudge on checkout, so local LFS + # objects are absent. We're only pushing branch pointers (no new + # LFS content), so allow incomplete. + git config lfs.allowincompletepush true OLD=$(git rev-parse --short HEAD) echo "main was at $OLD" if git merge --ff-only upstream/develop; then