stripping the last \n in case its a \n trailing problem:
(Pdb) print sha_strings(text[:-1] + ["</inventory>"])
4bc10a37bd929b0e091c93147c771bef12d37e55
So its not the previously fixed bug.
As the gzip hunk decompressed ok, its not a random bit error (though it could be a multi-bit error).
I think the most likely explanation is a transplanted inventory delta with a bad basis.
E.g.:
repo 1 has rev basis, sha X
repo 2 has rev basis, sha Y
repo 2 creates a new patch ('Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-9',) on top of basis
The line delta of ('Arch-1:<email address hidden>%
guile-gnome-pkg--release--0--patch-9',) is fetched as a delta to repo 1.
This line delta applies to make a sensible inventory but because the
inventory in repo 1 is different (specifically I think it has a
different last-changed in one or more files) the sha1 of the resulting
text does not match.
As a commentary, the restructured full-text based inventory we are
working on is much more resilient against these sorts of confusion
regardless of what api's an importer might use.
To fix this, I'm going to write a repair script for your repository
which will rewrite the inventory file assuming all the content is usable
but the sha's are wrong; and then see if the results look sensible.
This is the first[total unknown] failure:
['<inventory format="5" revision_ id="Arch- 1:<email address hidden> %guile- gnome-pkg- -release- -0--patch- 9">\n', "x_c4c88f41- 651e-4015- 86e8-d1f9e74649 ee" name="AUTHORS" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 8" text_sha1= "ca92ebbc17538c cb1dd59844c45de bc21d24bdf0" text_size="985" />\n', "x_4cb46764- 0bed-40e9- 9a0d-494c055bee 22" name="COPYING" revision= "Arch-1: <email address hidden> %pkg--dev- -0--base- 0" text_sha1= "dfac199a7539a4 04407098a2541b9 482279f690d" text_size="17992" />\n', "x_1e86ce33- d322-4851- 8e3a-56bd94263c de" name="ChangeLog" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 9" text_sha1= "19a8f61dd5b637 388a654fb0de773 03b19d52397" text_size="1758" />\n', "x_2ee4832d- 64fc-4c45- 8622-f5821b373c b4" name="HACKING" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 9" text_sha1= "7c6980f271d6e4 02b11d195fe8739 75fd62de352" text_size="5148" />\n', "x_d566e759- 8b32-476f- 94b3-99d85d3dbf de" name="INSTALL" revision= "Arch-1: <email address hidden> %pkg--dev- -0--base- 0" text_sha1= "98ddba3c54f8cd 72a6c937b47a7fa f1ed62899b8" text_size="9240" />\n', "x_52a01958- 7e5a-4012- 84b3-326a10756b f0" name="Makefile. am.bottom" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 9" text_sha1= "14670fe23531a3 65e96f450da3ffb 5c778331c33" text_size="121" />\n', "x_060fd750- 5bdd-477e- b9d3-5b3fd46097 f5" name="NEWS" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 6" text_sha1= "a84176dc394e74 d2644aaa0a63eb9 db0e9bb8cb5" text_size="706" />\n', "x_743dfd52- 64cc-467d- bc4c-337be0c37b d8" name="README" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 6" text_sha1= "0fea9ff9baeb72 fd15d1599f2ec84 fd9eb114c6f" text_size="1924" />\n', "x_f6bc671e- d292-4f39- b234-4f65344ef9 f6" name="autogen- pkg.sh" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 9" text_sha1= "822dbc10317ffa 523a1c318217658 09e9906a1c9" text_size="4442" />\n', "x_b0b05af6- 2b90-409e- 995a-b7406273d6 e7" name="autogen- support. sh" revision= "Arch-1: <email address hidden> %pkg--dev- -0--patch- 1" text_sha1= "273e8ebd814b70 41d446f62ca3d18 32d1b975701" text_size="8781" />\n', "x_bb155d62- 24af-4587- ba66-69ac9713ee c7" name="autogen.sh" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 3" text_sha1= "5cb28157753bcc 45d75d3f474fefc e4ccf856b30" text_size="2382" />\n', "x_2e3559b8- 8e9c-454b- 8c7d-ab31bb7d13 40" name="common.mk" revision= "Arch-1: <email address hidden> %pkg--dev- -0--patch- 6" text_sha1= "a9961c998abb1e 51e3f1f46810d92 7e67d4b4097" text_size="1178" />\n', "x_74c14f09- 8615-4f8c- 9ce6-462008928a 41" name="dev- environ. in" revision= "Arch-1: <email address hidden> %pkg--dev- -0--patch- 6" text_sha1= "a0015197309491 da3403d8b7c3a2d 9debdd1f13f" text_size="699" />\n', "x_41191028- 0a33-4d6a- a60a-b15035a538 d4" name="h2def.py" revision= "Arch-1: <email address hidden> %pkg--dev- -0--base- 0" text_sha1= "ede7031250baee b7c54c2dbdfb1a2 9d20e8eafe7" text_size="15020" />\n', "x_d7166cfd- f538-4ec5- a899-1465d48060 61" name="scripts" revision= "Arch-1: <email address hidden> %pkg--dev- -0--patch- 2" />\n', "x_e335e391- 841a-4614- a800-f51d7a4463 c4" name="add-upstream" parent_ id="x_d7166cfd- f538-4ec5- a899-1465d48060 61" revision= "Arch-1: <email address hidden> %pkg--dev- -0--patch- 3" text_sha1= "7565c1f687686a b0b97ee2cf02c4c f88d13c0f64" text_size="461" />\n', "x_e81ba1d5- ada4-4e7b- 8c3b-84c2e0464a ce" name="fork- archive- pkgs" parent_ id="x_d7166cfd- f538-4ec5- a899-1465d48060 61" revision= "Arch-1: <email address hidden> %pkg--dev- -0--patch- 2" text_sha1= "0c9f8cffb68960 a8429195976fc52 1f0cd2f2347" text_size="188" />\n', "x_fb58a11a- d896-4c27- 9881-72e7f3a833 e9" name="submit-merge" parent_ id="x_d7166cfd- f538-4ec5- a899-1465d48060 61" revision= "Arch-1: <email address hidden> %pkg--dev- -0--patch- 5" text_sha1= "49307d4f9c0ad7 b5e5a769f4e66be aaac529ba4b" text_size="1358" />\n', "x_f83074b3- c42f-4ce0- 8085-cedf6a989f 5a" name="tla-for-each" parent_ id="x_d7166cfd- f538-4ec5- a899-1465d48060 61" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 8" text_sha1= "6e35f7741dd94b f54c4555feb8716 a58128c6832" text_size="337" />\n', "x_1e58607e- ba5a-457c- b6b2-28eab62390 4c" name="update- inventories" parent_ id="x_d7166cfd- f538-4ec5- a899-1465d48060 61" revision= "Arch-1: <email address hidden> %guile- gnome-pkg- -release- -0--patch- 5" text_sha1= "173454fa105884 362e10f2904b41c 31353f7e3e4" text_size="265" />\n',
'<file file_id=
'<file file_id=
'<file file_id=
'<file file_id=
'<file file_id=
'<file file_id=
'<file file_id=
'<file file_id=
'<file file_id=
'<file file_id=
'<file executable="yes" file_id=
'<file file_id=
'<file executable="yes" file_id=
'<file executable="yes" file_id=
'<directory file_id=
'<file executable="yes" file_id=
'<file executable="yes" file_id=
'<file executable="yes" file_id=
'<file executable="yes" file_id=
'<file executable="yes" file_id=
'</inventory>\n']
which has: 9c94a8300529112 a79eff180a e0376f2840c2937 5931e9b554 %guile- gnome-pkg- -release- -0--patch- 9',)
sha - c9c5790d04d50eb
expected sha - 45cb77d073b02f8
key - ('Arch-1:<email address hidden>
stripping the last \n in case its a \n trailing problem: text[:- 1] + ["</inventory>"]) e091c93147c771b ef12d37e55
(Pdb) print sha_strings(
4bc10a37bd929b0
So its not the previously fixed bug.
As the gzip hunk decompressed ok, its not a random bit error (though it could be a multi-bit error).
I think the most likely explanation is a transplanted inventory delta with a bad basis.
E.g.: %guile- gnome-pkg- -release- -0--patch- 9',) on top of basis
repo 1 has rev basis, sha X
repo 2 has rev basis, sha Y
repo 2 creates a new patch ('Arch-1:<email address hidden>
The line delta of ('Arch-1:<email address hidden>% pkg--release- -0--patch- 9',) is fetched as a delta to repo 1.
guile-gnome-
This line delta applies to make a sensible inventory but because the
inventory in repo 1 is different (specifically I think it has a
different last-changed in one or more files) the sha1 of the resulting
text does not match.
As a commentary, the restructured full-text based inventory we are
working on is much more resilient against these sorts of confusion
regardless of what api's an importer might use.
To fix this, I'm going to write a repair script for your repository
which will rewrite the inventory file assuming all the content is usable
but the sha's are wrong; and then see if the results look sensible.
-Rob