Exemplo n.º 1
0
        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;
            }
        }