Bug report: v2.47.0 cannot fetch version 1 pack indexes
- From
- fox <fox.gbr@townlong-yak.com>
- Date
- Oct 19, 2024, 23:22 UTC
- Message-ID
- <BA07EFA0-0793-420D-BED9-ACD7CEBE0112@townlong-yak.com>
What did you do before the bug happened? (Steps to reproduce your issue)
1. Run git clone https://www.townlong-yak.com/test.git
What did you expect to happen? (Expected behavior)
A local "test" folder to be created with a clone of the remote repository.
What happened instead? (Actual behavior)
The command produces the following output: Cloning into 'test'... error: files '/Users/me/test/.git/objects/pack/tmp_idx_WT81vv' and '/Users/me/test/.git/objects/pack/pack-427331d91391b00844273eeb3879cb479ce2c995.idx' differ in contents fatal: unable to rename temporary '*.idx' file to '/Users/me/test/.git/objects/pack/pack-427331d91391b00844273eeb3879cb479ce2c995.idx' error: Unable to find 6261a9d9f7704c02a5421ff733919ab18793aa7d under https://www.townlong-yak.com/test.git Cannot obtain needed object 6261a9d9f7704c02a5421ff733919ab18793aa7d error: fetch failed.
What's different between what you expected and what actually happened?
The clone fails and no test folder exists after the command completes.
Anything else you want to add:
This scenario works correctly with git v2.46.2 and earlier versions, and began failing with v2.47.0.
Running git-bisect identifies b1b8dfde6929ec9463eca0a858c4adb9786d7c93 as the first bad commit, suggesting that the .idx file downloaded from the remote is now expected to be byte-for-byte identical with a locally-generated version; due to format differences, they are not.
The remote idx is in the original (version 1) format, and git verify-pack seems satisfied with it. Did v2.47.0 intend to block fetching such indices?
[System Info] git version: git version 2.47.0.163.g1226f6d8fa cpu: x86_64 built from commit: 1226f6d8faf60d03cbb3b021c68d48364bf67ac0 sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh feature: fsmonitor--daemon libcurl: 8.7.1 zlib: 1.2.12 uname: Darwin 24.0.0 Darwin Kernel Version 24.0.0: Tue Sep 24 23:36:30 PDT 2024; root:xnu-11215.1.12~1/RELEASE_X86_64 x86_64 compiler info: clang: 16.0.0 (clang-1600.0.26.3) libc info: no libc information available $SHELL (typically, interactive shell): /bin/bash
[Enabled Hooks]