[git] IJPL-204934 Ensure proper cleanup of structured activities in GitCheckoutOperation

GitOrigin-RevId: 3929564f04e7009ce1595a6f70070f81217980bf
This commit is contained in:
Stanislau Palyn
2025-09-08 13:17:27 +00:00
committed by intellij-monorepo-bot
parent 880f53d07f
commit e5535ffc3c
@@ -134,13 +134,23 @@ class GitCheckoutOperation extends GitBranchOperation {
new GitUntrackedFilesOverwrittenByOperationDetector(root);
StructuredIdeActivity checkoutOperation = CHECKOUT_OPERATION.startedWithParent(myProject, activity);
GitCommandResult result = myGit.checkout(repository, myStartPointReference, myNewBranch, false, myDetach, myReset,
localChangesDetector, unmergedFiles, unknownPathspec, untrackedOverwrittenByCheckout);
checkoutOperation.finished();
GitCommandResult result;
try {
result = myGit.checkout(repository, myStartPointReference, myNewBranch, false, myDetach, myReset,
localChangesDetector, unmergedFiles, unknownPathspec, untrackedOverwrittenByCheckout);
}
finally {
checkoutOperation.finished();
}
if (result.success()) {
StructuredIdeActivity vfsRefresh = VFS_REFRESH.startedWithParent(myProject, activity);
updateAndRefreshChangedVfs(repository, startHash);
vfsRefresh.finished();
try {
updateAndRefreshChangedVfs(repository, startHash);
}
finally {
vfsRefresh.finished();
}
markSuccessful(repository);
}
else if (unmergedFiles.isDetected()) {