diff options
author | Javier Suárez Ruiz <javiersuarezruiz@hotmail.com> | 2019-02-14 19:04:25 +0300 |
---|---|---|
committer | Javier Suárez Ruiz <javiersuarezruiz@hotmail.com> | 2019-02-14 19:04:25 +0300 |
commit | e8d767b1498637e010a65dd4cabbbeed268006f5 (patch) | |
tree | a4c266472be971f7e88130f3025c39586466a88d | |
parent | 5c50aaa0adf401054cdcb5eb03edcef9bb487037 (diff) |
Start adding more errors feedback in the UI related to VCSfix-4406
-rw-r--r-- | main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs index 77a2f93dea..fe701f2439 100644 --- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs +++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitRepository.cs @@ -591,19 +591,24 @@ namespace MonoDevelop.VersionControl.Git // TODO: Make it work differently for submodules. monitor.BeginTask (GettextCatalog.GetString ("Updating"), 5); - if (RootRepository.Head.IsTracking) { - Fetch (monitor, RootRepository.Head.Remote.Name); + try { + if (RootRepository.Head.IsTracking) { + Fetch (monitor, RootRepository.Head.Remote.Name); - GitUpdateOptions options = GitService.StashUnstashWhenUpdating ? GitUpdateOptions.NormalUpdate : GitUpdateOptions.UpdateSubmodules; - if (GitService.UseRebaseOptionWhenPulling) - Rebase (RootRepository.Head.TrackedBranch.FriendlyName, options, monitor); - else - Merge (RootRepository.Head.TrackedBranch.FriendlyName, options, monitor); + GitUpdateOptions options = GitService.StashUnstashWhenUpdating ? GitUpdateOptions.NormalUpdate : GitUpdateOptions.UpdateSubmodules; + if (GitService.UseRebaseOptionWhenPulling) + Rebase (RootRepository.Head.TrackedBranch.FriendlyName, options, monitor); + else + Merge (RootRepository.Head.TrackedBranch.FriendlyName, options, monitor); - monitor.Step (1); + monitor.Step (1); + } + } catch (Exception ex) { + LoggingService.LogError ("Update operation failed", ex); + monitor.ReportError (GettextCatalog.GetString ("Update operation failed."), null); + } finally { + monitor.EndTask (); } - - monitor.EndTask (); } static bool HandleAuthenticationException (AuthenticationException e) @@ -956,7 +961,10 @@ namespace MonoDevelop.VersionControl.Git RootRepository = new LibGit2Sharp.Repository (RootPath); RecursivelyCloneSubmodules (RootPath, monitor); - } finally { + } catch(Exception ex) { + monitor.ReportError (GettextCatalog.GetString ("Clone failed."), ex); + } + finally { monitor.EndTask (); } } |