Example #1
0
 public SyncRepository(Repository repo, ICommitRepository commitRepo, IGitCredentialsProvider gitCredentialsProvider, IProcessRunner processRunner)
 {
     this.repo                   = repo;
     this.commitRepo             = commitRepo;
     this.gitCredentialsProvider = gitCredentialsProvider;
     this.processRunner          = processRunner;
 }
Example #2
0
        static GitCredentialsProviderResult GetCredentialsFromProvider(IGitCredentialsProvider gitCredentialsProvider, string uri, SupportedCredentialTypes type, Credentials cred)
        {
            if (type != SupportedCredentialTypes.UsernamePassword)
            {
                return(GitCredentialsProviderResult.NotFound);
            }

            var(result, credentials) = Task.Run(() => gitCredentialsProvider.TryGetCredentialsAsync(uri)).Result;

            if (result == GitCredentialsProviderResult.Found)
            {
                ((UsernamePasswordCredentials)cred).Username = credentials.Username;
                ((UsernamePasswordCredentials)cred).Password = credentials.Password;
            }

            return(result);
        }
        public TestRepositoryBuilder(string repositoryUrl, IGitCredentialsProvider gitCredentialsProvider)
        {
            GitCredentialsProvider = gitCredentialsProvider ?? throw new ArgumentNullException(nameof(gitCredentialsProvider));

            // Create repo working dir
            WorkingDirectory = Path.Combine(Path.GetTempPath(), "SharpBucketTestRepositories", Guid.NewGuid().ToString("N"));
            Directory.CreateDirectory(WorkingDirectory);

            // Clone the bitbucket repository
            try
            {
                var cloneOptions = new CloneOptions
                {
                    CredentialsProvider = gitCredentialsProvider.GetCredentials
                };
                Repository.Clone(repositoryUrl, WorkingDirectory, cloneOptions);
            }
            catch (Exception)
            {
                Directory.Delete(WorkingDirectory, true);
                throw;
            }
        }
 public PublishToGitRepo(BuildTaskDefinition taskDefinition, IGitCredentialsProvider gitCredentialsProvider)
 {
     this.gitCredentialsProvider = gitCredentialsProvider;
 }