import { expect } from 'vitest' import { sandboxTest } from '../../setup.js' import { cleanupBaseDir, createBaseDir, createRepoWithCommit, } from './helpers.js' sandboxTest('git reset --hard discards changes', async ({ sandbox }) => { const baseDir = await createBaseDir(sandbox) try { const repoPath = await createRepoWithCommit(sandbox, baseDir) await sandbox.files.write(`${repoPath}/README.md`, 'changed\n') const status = await sandbox.git.status(repoPath) expect(status.isClean).toBe(false) await sandbox.git.reset(repoPath, { mode: 'hard', target: 'HEAD' }) const statusAfter = await sandbox.git.status(repoPath) expect(statusAfter.isClean).toBe(true) const contents = await sandbox.files.read(`${repoPath}/README.md`) expect(contents).toBe('hello\n') } finally { await cleanupBaseDir(sandbox, baseDir) } })