Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTherzok <teromario@yahoo.com>2013-08-27 13:01:17 +0400
committerTherzok <teromario@yahoo.com>2013-08-27 13:01:17 +0400
commit7beaaa6995c80e8b3a51eb4d19fc88b73be67eac (patch)
treef5429ef40a13d0ed467c085ca5e981ce208e06f4 /main/src/addins/VersionControl/Subversion.Win32
parent45b07bda3b3eeb4d9313ee8f5ba4f59b490511fb (diff)
[Version Control] Win32 Subversion Cancel for Checkout.
Diffstat (limited to 'main/src/addins/VersionControl/Subversion.Win32')
-rw-r--r--main/src/addins/VersionControl/Subversion.Win32/SvnSharpClient.cs16
1 files changed, 11 insertions, 5 deletions
diff --git a/main/src/addins/VersionControl/Subversion.Win32/SvnSharpClient.cs b/main/src/addins/VersionControl/Subversion.Win32/SvnSharpClient.cs
index f0de966632..c17dd231cf 100644
--- a/main/src/addins/VersionControl/Subversion.Win32/SvnSharpClient.cs
+++ b/main/src/addins/VersionControl/Subversion.Win32/SvnSharpClient.cs
@@ -115,6 +115,9 @@ namespace SubversionAddinWindows
client.Progress += delegate (object sender, SvnProgressEventArgs e) {
ProgressWork (e, progressData, updateMonitor);
};
+ client.Cancel += delegate (object o, SvnCancelEventArgs a) {
+ a.Cancel = updateMonitor.IsCancelRequested;
+ };
}
void AuthenticationUserNamePasswordHandlers (object sender, SvnUserNamePasswordEventArgs e)
@@ -188,8 +191,14 @@ namespace SubversionAddinWindows
SvnCheckOutArgs args = new SvnCheckOutArgs ();
BindMonitor (args, monitor);
args.Depth = recurse ? SvnDepth.Infinity : SvnDepth.Empty;
- lock (client)
- client.CheckOut (new SvnUriTarget (url, GetRevision (rev)), path);
+ lock (client) {
+ try {
+ client.CheckOut (new SvnUriTarget (url, GetRevision (rev)), path);
+ } catch (SvnOperationCanceledException e) {
+ if (Directory.Exists (path.ParentDirectory))
+ FileService.DeleteDirectory (path.ParentDirectory);
+ }
+ }
}
public override void Commit (FilePath[] paths, string message, IProgressMonitor monitor)
@@ -606,9 +615,6 @@ namespace SubversionAddinWindows
args.Notify += delegate (object o, SvnNotifyEventArgs e) {
Notify (e, data, monitor);
};
- args.Cancel += delegate (object o, SvnCancelEventArgs a) {
- a.Cancel = monitor.IsCancelRequested;
- };
args.SvnError += delegate (object o, SvnErrorEventArgs a) {
monitor.ReportError (a.Exception.Message, a.Exception.RootCause);
};