Exemplo n.º 1
0
        public void Setup()
        {
            _collectionURI = originCollectionUrl;
            var credentials = DefaultCredentials;

            _tfpt = new Git(_collectionURI, credentials);
        }
Exemplo n.º 2
0
 private static void WriteErrors(Git repository)
 {
     foreach (var erro in repository.RepositoryApi.Errors)
     {
         WriteErrors(erro);
     }
 }
Exemplo n.º 3
0
        public void Consigo_Fazer_O_Get_Do_Repositorio_De_Um_Projeto_Que_Nao_Tem_Nenhum_Repositorio()
        {
            var response = new Git(destinyCollectionUrl, DefaultCredentials)
                .RepositoryApi.GetAllRepositoriesOfProject("NewGitProject");

            Assert.IsNotNull(response.Result);

            var projectId = response.Result.Repositories.Select(x => x.ProjectID);
            Assert.IsNotNull(projectId);
            //Assert.IsFalse(string.IsNullOrEmpty(response.Result));
        }
Exemplo n.º 4
0
        public void Dado_Um_Projeto_Consigo_Recriar_Todo_A_Estrutura_De_Branchs_Em_Outro()
        {
            var credentialsOrigem = DefaultCredentials;
            var projetoOrigem = new Git(originCollectionUrl, credentialsOrigem);

            var credentialsDestino = credentialsOrigem;
            var projetoDestino = new Git(destinyCollectionUrl, credentialsDestino);

            var repositoriosOrigem = projetoOrigem.RepositoryApi.GetAllRepositoriesOfProject(originProject);

            var newRepositories = new List<string>();

            Parallel.ForEach(repositoriosOrigem.Result.Repositories, repo =>
            {
                var newRepoUrl = projetoDestino.RepositoryApi.CreateRepositoryInProject(destinyProject, repo.RepositoryName);
                Console.WriteLine(newRepoUrl.Result);
                newRepositories.Add(newRepoUrl.Result);
            });

            Assert.AreEqual(repositoriosOrigem.Result.Count, newRepositories.Count());
        }
Exemplo n.º 5
0
        public void A_Migracao_Podera_Ocorrer_Somente_Em_Uma_Pasta_Sem_Subpastas()
        {
            //arrange
            var origin = new Git(originCollectionUrl, DefaultCredentials);
            var destiny = new Git(destinyCollectionUrl, DefaultCredentials);

            origin.RepositoryApi.MigrateTo(originProject, destiny, destinyProject, @"c:\windows");
        }
Exemplo n.º 6
0
        public void A_Migracao_Ocorre_Com_Sucesso()
        {
            var path = @"c:\migracaoGit123";

            if (System.IO.Directory.Exists(path))
            {
                System.IO.Directory.Delete(path, true);
            }

            System.IO.Directory.CreateDirectory(path);

            var origin = new Git(originCollectionUrl, DefaultCredentials);
            var destiny = new Git(destinyCollectionUrl, DefaultCredentials);

            origin.RepositoryApi.MigrateTo(originProject, destiny, destinyProject, path);
        }
Exemplo n.º 7
0
        public void A_Migracao_Nao_Acontece_Se_Informar_Um_Diretorio_Inexistente()
        {
            var origin = new Git(originCollectionUrl, DefaultCredentials);
            var destiny = new Git(destinyCollectionUrl, DefaultCredentials);

            origin.RepositoryApi.MigrateTo(originProject, destiny, destinyProject, @"c:\NonExistingDirectory");
        }
Exemplo n.º 8
0
        public override void Process()
        {
            var consoleArgs = base.ProcessCommandArgs();

            var origin = new Git(consoleArgs.OriginCollection, GetCredentials(consoleArgs.OriginCredentials));
            var destination = new Git(consoleArgs.DestinationCollection, GetCredentials(consoleArgs.DestinationCredentials ?? consoleArgs.OriginCredentials));

            origin.RepositoryApi.MigrateTo(consoleArgs.OriginProject, destination, consoleArgs.DestinationProject, consoleArgs.BasePath);            
        }      
Exemplo n.º 9
0
        public override void Process()
        {
            var consoleArgs = base.ProcessCommandArgs();

            var origin = new Git(consoleArgs.OriginCollection, GetCredentials(consoleArgs.OriginCredentials));
            RemoteUrl = origin.RepositoryApi.CreateRepositoryInProject(consoleArgs.OriginProject, consoleArgs.RepositoryName).Result;
        }      
Exemplo n.º 10
0
        public override void Process()
        {
            var consoleArgs = base.ProcessCommandArgs();

            var origin = new Git(consoleArgs.OriginCollection, GetCredentials(consoleArgs.OriginCredentials));
            origin.RepositoryApi.CloneAllRepositories(consoleArgs.OriginProject, consoleArgs.BasePath);
        }      
Exemplo n.º 11
0
        public void MigrateTo(string originProject, Git destinyGit, string destinyProject, string cloneBasePath)
        {
            if (!Directory.Exists(cloneBasePath))
            {
                throw new InvalidOperationException("Base Path doesn't exists");
            }

            //if (Directory.GetDirectories(cloneBasePath).Any())
            //{
            //    throw new InvalidOperationException("Inform a base class that doesn't contain any subdirectories");
            //}

            var repositoriosOrigem = this.GetAllRepositoriesOfProject(originProject).Result;

            Parallel.ForEach(repositoriosOrigem.Repositories, new ParallelOptions() { MaxDegreeOfParallelism = 1 }, repo =>// foreach (var repo in repositoriosOrigem.Repositories)
            {
                Console.WriteLine("Criando repositorio " + repo.RepositoryName);
                var newRemoteUri = destinyGit.RepositoryApi.CreateRepositoryInProject(destinyProject, repo.RepositoryName).Result;
                newRemoteUri = newRemoteUri.Replace(" ", "%20");

                var subpath = string.Format("{0}", Path.Combine(cloneBasePath, repo.RepositoryName).Replace(" ", "%20"));

                if (Directory.Exists(subpath))
                {
                    Console.WriteLine("Efetuando o pull no repositorio " + repo.RemoteUrl);
                    ProcessGitCommand("pull ", subpath);
                }
                else
                {
                    Console.WriteLine("Clonando o repositorio " + repo.RemoteUrl);
                    ProcessGitCommand("clone " + repo.RemoteUrl.Replace(" ", "%20"), cloneBasePath);
                }

                Console.WriteLine("Adicionando Remote " + newRemoteUri);
                ProcessGitCommand("remote add newRemote " + newRemoteUri, subpath);

                Console.WriteLine("Efetuando push ");
                ProcessGitCommand("push newRemote", subpath);
            });
        }