Skip to content

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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information