fix(checkpointing): improve error handling and messaging for Git issues (#6801)

This commit is contained in:
Arya Gummadi
2025-08-22 08:29:52 -07:00
committed by GitHub
parent 31cd35b8c4
commit e1d5dc545d
2 changed files with 38 additions and 12 deletions

View File

@@ -31,7 +31,13 @@ export class GitService {
'Checkpointing is enabled, but Git is not installed. Please install Git or disable checkpointing to continue.',
);
}
this.setupShadowGitRepository();
try {
await this.setupShadowGitRepository();
} catch (error) {
throw new Error(
`Failed to initialize checkpointing: ${error instanceof Error ? error.message : 'Unknown error'}. Please check that Git is working properly or disable checkpointing.`,
);
}
}
verifyGitAvailability(): Promise<boolean> {
@@ -105,10 +111,16 @@ export class GitService {
}
async createFileSnapshot(message: string): Promise<string> {
const repo = this.shadowGitRepository;
await repo.add('.');
const commitResult = await repo.commit(message);
return commitResult.commit;
try {
const repo = this.shadowGitRepository;
await repo.add('.');
const commitResult = await repo.commit(message);
return commitResult.commit;
} catch (error) {
throw new Error(
`Failed to create checkpoint snapshot: ${error instanceof Error ? error.message : 'Unknown error'}. Checkpointing may not be working properly.`,
);
}
}
async restoreProjectFromSnapshot(commitHash: string): Promise<void> {