I built gitclone-doctor to compare Git's selected HTTPS transport with HTTP/1.1 for a public GitHub repository. It runs git ls-remote URL HEAD against the target with the selected settings and HTTP/1.1, then repeats those two requests against the git/git control repository. The control reuses the same frozen proxy and CA snapshot, so URL-specific transport settings do not quietly change between sides.
The GIF is a controlled local fixture, not a current GitHub incident. The fixture generates a temporary certificate, accepts HTTP/2 and HTTP/1.1, and returns a deliberate 403 for the target over HTTP/2. It serves a valid smart-HTTP ref advertisement over HTTP/1.1. The control path succeeds over both protocols. The program checks its real Git trace and refuses to show the comparison if it cannot observe those requests.
The report contains response protocols and numeric statuses, not raw stderr, headers, config values, or trace text. Child Git processes use a rebuilt environment, clear helpers and extra headers, disable redirects, and require verified TLS. The tool refuses when .netrc or _netrc exists or cannot be checked, because Git's libcurl may consult those files. It does not read them.
The report also separates Git requests from direct network checks. Git uses the selected proxy when configured, while DNS and TLS checks bypass proxies and have their own deadlines. A direct DNS failure does not overturn passing Git requests. JSON contains fixed result codes and presence flags for helpers, headers, and URL rewrites, not the configured values.
This is a ref discovery check. It does not complete the clone pack transfer and does not test LFS, submodules, or authenticated access. A shared failure can remain unresolved, and an HTTP/1.1 success does not prove a protocol defect.
Run the local example with npm run demo. The CLI can be run from GitHub with npx --yes --package=github:Arthur031221/gitclone-doctor gitclone-doctor git/git. I would like feedback on whether the comparison is clear and whether its limits are stated plainly.
Repository: https://github.com/Arthur031221/gitclone-doctor

Top comments (0)