public void Setup() { _collectionURI = originCollectionUrl; var credentials = DefaultCredentials; _tfpt = new Git(_collectionURI, credentials); }
private static void WriteErrors(Git repository) { foreach (var erro in repository.RepositoryApi.Errors) { WriteErrors(erro); } }
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)); }
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()); }
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"); }
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); }
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"); }
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); }
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; }
public override void Process() { var consoleArgs = base.ProcessCommandArgs(); var origin = new Git(consoleArgs.OriginCollection, GetCredentials(consoleArgs.OriginCredentials)); origin.RepositoryApi.CloneAllRepositories(consoleArgs.OriginProject, consoleArgs.BasePath); }
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); }); }