◐ Shell
clean mode source ↗

`Commit.parent` can cause Nodegit promises to stop working

System information

  • node version: v22.4.1
  • npm or yarn version: pnpm 9.12.3
  • OS/version/architecture: Gentoo Linux amd64
  • Applicable nodegit version: 0.28.0-alpha.28

Description

Encountered while testing with Jest.

Calling commit.parent() causes promises from Nodegit related to commits to stop resolving in certain cases. So far, I've managed to reproduce this by opening two separate Git repos in the same process and calling commit.parent(0) on a commit on each of them. I'll create a proper reproducer later.

const repo1 = await Nodegit.Repository.open("repo1");
const commit1 = await repo1.getReferenceCommit("HEAD");
await commit1.parent(0);

const repo2 = await Nodegit.Repository.open("repo2");
const commit2 = await repo2.getReferenceCommit("HEAD");
await commit2.parent(0);