protected override void Run()
{
if (System.IO.Directory.Exists(path))
{
if (MessageService.AskQuestion(GettextCatalog.GetString(
"Checkout path is not empty. Do you want to delete its contents?"),
path,
AlertButton.Cancel,
AlertButton.Ok) == AlertButton.Cancel)
{
return;
}
FileService.DeleteDirectory(path);
}
vc.Checkout(path, null, true, Monitor);
if (Monitor.IsCancelRequested)
{
Monitor.ReportSuccess(GettextCatalog.GetString("Checkout operation cancelled"));
return;
}
if (!System.IO.Directory.Exists(path))
{
Monitor.ReportError(GettextCatalog.GetString("Checkout folder does not exist"), null);
return;
}
string projectFn = null;
string[] list = System.IO.Directory.GetFiles(path);
if (projectFn == null)
{
foreach (string str in list)
{
if (MonoDevelop.Projects.Services.ProjectService.IsWorkspaceItemFile(str))
{
projectFn = str;
break;
}
}
}
if (projectFn != null)
{
DispatchService.GuiDispatch(delegate {
IdeApp.Workspace.OpenWorkspaceItem(projectFn);
});
}
Monitor.ReportSuccess(GettextCatalog.GetString("Solution checked out"));
}