public RepositorySettings RepositorySettings(Uri repositoryUri, string targetBranch) { if (repositoryUri == null) { return(null); } var path = repositoryUri.AbsolutePath; var pathParts = path.Split('/') .Where(s => !string.IsNullOrWhiteSpace(s)) .ToList(); Username = Concat.FirstValue(repositoryUri.UserInfo, _environmentVariablesProvider.GetUserName()); if (pathParts.Count < 2) { return(null); } var repoName = pathParts[pathParts.Count - 1].ToLower(CultureInfo.CurrentCulture).Replace(".git", string.Empty); var project = pathParts[pathParts.Count - 2]; return(new RepositorySettings { ApiUri = new Uri($"{repositoryUri.Scheme}://{repositoryUri.Authority}"), RepositoryUri = repositoryUri, RepositoryName = repoName, RepositoryOwner = project }); }
public Task <RepositorySettings> RepositorySettings(Uri repositoryUri, bool setAutoMerge, string targetBranch = null, GitPullRequestMergeStrategy gitPullRequestMergeStrategy = GitPullRequestMergeStrategy.NoFastForward) { if (repositoryUri == null) { return(Task.FromResult <RepositorySettings>(null)); } var path = repositoryUri.AbsolutePath; var pathParts = path.Split('/') .Where(s => !string.IsNullOrWhiteSpace(s)) .ToList(); Username = Concat.FirstValue(repositoryUri.UserInfo, _environmentVariablesProvider.GetUserName()); if (pathParts.Count < 2) { return(Task.FromResult <RepositorySettings>(null)); } var repoName = pathParts[pathParts.Count - 1].ToLower(CultureInfo.CurrentCulture).Replace(".git", string.Empty); var project = pathParts[pathParts.Count - 2]; return(Task.FromResult(new RepositorySettings { ApiUri = new Uri($"{repositoryUri.Scheme}://{repositoryUri.Authority}"), RepositoryUri = repositoryUri, RepositoryName = repoName, RepositoryOwner = project })); }