MCPcopy Create free account
hub / github.com/bearlyai/OpenADE / handleDeleteWorkTree

Function handleDeleteWorkTree

projects/electron/src/modules/code/git.ts:1268–1296  ·  view source on GitHub ↗
(params: DeleteWorkTreeParams)

Source from the content-addressed store, hash-verified

1266}
1267
1268async function handleDeleteWorkTree(params: DeleteWorkTreeParams): Promise<DeleteWorkTreeResponse> {
1269 const startTime = Date.now()
1270 logger.info("[Git:deleteWorkTree] Deleting worktree", JSON.stringify({ repoDir: params.repoDir, id: params.id }))
1271
1272 try {
1273 validateRepoDir(params.repoDir)
1274 validateWorkTreeId(params.id)
1275
1276 const { repoRoot } = await resolveGitInfo(params.repoDir)
1277 const worktreePath = getWorktreePath(params.id)
1278
1279 // First, manually delete the directory if it exists (handles node_modules etc)
1280 if (fs.existsSync(worktreePath)) {
1281 logger.info("[Git:deleteWorkTree] Removing directory first", JSON.stringify({ worktreePath }))
1282 await fsExtra.remove(worktreePath)
1283 }
1284
1285 // Then prune git's worktree tracking
1286 await execGit(["worktree", "prune"], repoRoot)
1287
1288 logger.info("[Git:deleteWorkTree] Worktree removed successfully", JSON.stringify({ worktreePath, duration: Date.now() - startTime }))
1289 return { deleted: true }
1290 } catch (error: unknown) {
1291 const errorMessage = error instanceof Error ? error.message : String(error)
1292 const errorStack = error instanceof Error ? error.stack : undefined
1293 logger.error("[Git:deleteWorkTree] Error:", JSON.stringify({ error: errorMessage, stack: errorStack, duration: Date.now() - startTime }))
1294 return { deleted: false, error: errorMessage }
1295 }
1296}
1297
1298async function handleIsBranchMerged(params: IsBranchMergedParams): Promise<boolean> {
1299 const { repoRoot } = await resolveGitInfo(params.repoDir)

Callers 1

deleteRuntimeWorkTreeFunction · 0.85

Calls 6

validateRepoDirFunction · 0.85
validateWorkTreeIdFunction · 0.85
resolveGitInfoFunction · 0.85
getWorktreePathFunction · 0.85
execGitFunction · 0.85
errorMethod · 0.80

Tested by

no test coverage detected