Skip to contentSkip to conversation

git fsck: failed to apply delta

PATCH Andre Noll 1 participant 1 message Jun 15, 2016

lore
Share & tools
lore

Andre Noll

author
#0 lore raw

Hi

I'm getting this when running git fsck or git repack against a large (21G) repo which was created from subversion using git svn clone:

fatal: failed to apply delta

The debugging patch below indicates that this repo fails the sanity check for the size in patch_delta(). With this patch applied I'm getting the following additional output

error: bad delta header size, expected: 236, have 1994568

This is 100% reproducible. I'm using the git master branch as of today (5ae0f681) but the same problem showed up also with an older git version.

Does anybody know what's going on here?

Thanks
Andre
---

patch-delta.c +3 -1
index 56e0a5e..cff4d79 100644
@@ -28,8 +28,10 @@ void *patch_delta(const void *src_buf, unsigned long src_size,
 
 	/* make sure the orig file size matches what we expect */
 	size = get_delta_hdr_size(&data, top);
-	if (size != src_size)
+	if (size != src_size) {
+		error("bad delta header size, expected: %lu, have %lu", src_size, size);
 		return NULL;
+	}
 
 	/* now the result size */
 	size = get_delta_hdr_size(&data, top);
Signature · 1 line
The only person who always got his work done by Friday was Robinson Crusoe