Hi,

I've stumbled upon a bug that the following command failed:

$ git clone <url> <dir> --reference <old-dir> --dissociate
fatal: unable to parse commit <SHA>
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

Omitting --dissociate fixed the error, but it wasn't clear to me what might be the root cause.

$ git --version  
git version 2.54.0

With the help of AI I was able to create a reproducer (see the attached script).
I have 
verified that the reproducer works and also simplified it.

AI generated report (take it with a grain of salt):
* The Bug: During dissociation, Git correctly repacks objects and removes the objects/info/alternates file. However, the git clone process has already initialized its object store including the alternate's commit-graph.
  After dissociation, it fails to "forget" or reload the object store, leading to a crash when it tries to use the commit-graph (which refers to the now-unlinked alternate) to perform the initial checkout.
* Proof of state: As shown in the script output, a manual git checkout immediately after the failure succeeds, proving the repository is structurally sound but the clone process itself was in an inconsistent state.
* Workaround: Passing -c core.commitGraph=false to the clone command prevents the crash.

regards,
Daniel