public static async Task <SubmoduleInfoResult> UpdateSubmoduleStructureAndWaitForResultAsync(ISubmoduleStatusProvider provider, VsrModule module, bool updateStatus = false) { SubmoduleInfoResult result = null; provider.StatusUpdated += ProviderStatusUpdated; try { provider.UpdateSubmodulesStructure( workingDirectory: module.WorkingDir, noBranchText: string.Empty, updateStatus: updateStatus); await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout); } finally { provider.StatusUpdated -= ProviderStatusUpdated; } return(result); void ProviderStatusUpdated(object sender, SubmoduleStatusEventArgs e) { result = e.Info; } }
public static SubmoduleInfoResult UpdateSubmoduleStructureAndWaitForResult(ISubmoduleStatusProvider provider, GitModule module, bool updateStatus = false) { SubmoduleInfoResult result = null; provider.StatusUpdated += Provider_StatusUpdated; provider.UpdateSubmodulesStructure( workingDirectory: module.WorkingDir, noBranchText: string.Empty, updateStatus: updateStatus); AsyncTestHelper.WaitForPendingOperations(); provider.StatusUpdated -= Provider_StatusUpdated; return(result); void Provider_StatusUpdated(object sender, SubmoduleStatusEventArgs e) { result = e.Info; } }