public void MakeClone(IProgress progress) { var client = new ChorusHubClient(); var server = client.FindServer(); if (server == null) { progress.WriteError("The Chorus Server is not available."); CloneSucceeded = false; return; } if (!server.ServerIsCompatibleWithThisClient) { progress.WriteError("The Chorus Server is not compatible with ths client."); CloneSucceeded = false; return; } var targetFolder = Path.Combine(_baseFolder, RepositoryName); try { NewlyClonedFolder= HgRepository.Clone(new HttpRepositoryPath(RepositoryName, client.GetUrl(RepositoryName), false), targetFolder, progress); CloneSucceeded = true; } catch (Exception) { NewlyClonedFolder = null; CloneSucceeded = false; throw; } }