Error when comparing two git [version 2.37.3] repositories: unpack requires a buffer of 62 bytes
diffoscope r-darwish/topgrade/ topgrade-rs/topgrade/
Traceback (most recent call last):
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/main.py", line 766, in main
sys.exit(run_diffoscope(parsed_args))
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/main.py", line 717, in run_diffoscope
difference = compare_root_paths(path1, path2)
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/utils/compare.py", line 63, in compare_root_paths
return compare_directories(path1, path2)
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/directory.py", line 209, in compare_directories
return FilesystemDirectory(path1).compare(FilesystemDirectory(path2))
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/directory.py", line 280, in compare
differences.extend(my_container.compare(other_container))
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/utils/container.py", line 197, in compare_pair
difference = compare_files(
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/utils/compare.py", line 145, in compare_files
difference = file2.compare(file1, source)
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/directory.py", line 280, in compare
differences.extend(my_container.compare(other_container))
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/utils/container.py", line 197, in compare_pair
difference = compare_files(
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/utils/compare.py", line 149, in compare_files
return file1.compare(file2, source)
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/utils/file.py", line 515, in compare
difference = self._compare_using_details(other, source)
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/utils/file.py", line 416, in _compare_using_details
details.extend(self.compare_details(other, source))
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/git.py", line 36, in compare_details
describe_index(self.path),
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/git.py", line 82, in describe_index
index = parse_index(f)
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/git.py", line 47, in parse_index
return {"version": version, "entries": list(parse_entries(f))}
File "/nix/store/qb9pnssvn3gvh88ybi1y15y4ws5sagnh-diffoscope-223/lib/python3.10/site-packages/diffoscope/comparators/git.py", line 71, in parse_entries
) = struct.unpack(">LLLLLLLLLL20sH", f.read((4 * 10) + 20 + 2))
struct.error: unpack requires a buffer of 62 bytes
Links to the repos https://github.com/topgrade-rs/topgrade https://github.com/r-darwish/topgrade
I am using diffoscope 223 on NixOS as you can probably tell from the trace. Our git version is currently 2.37.3.