protected override async Task RunAsync() { success = true; try { // store global comment before commit. VersionControlService.SetCommitComment(changeSet.BaseLocalPath, changeSet.GlobalComment, true); await vc.CommitAsync(changeSet, Monitor); Monitor.ReportSuccess(GettextCatalog.GetString("Commit operation completed.")); // Reset the global comment on successful commit. VersionControlService.SetCommitComment(changeSet.BaseLocalPath, "", true); } catch (Exception ex) { LoggingService.LogError("Commit operation failed", ex); Monitor.ReportError(ex.Message, null); success = false; throw; } }