Exemplo n.º 1
0
    public static IChangelogLinkBuilder CreateFor(Repository repository)
    {
        var origin = repository.Network.Remotes.FirstOrDefault(remote => remote.Name == "origin") ?? repository.Network.Remotes.FirstOrDefault();

        if (origin == null)
        {
            return(new PlainLinkBuilder());
        }

        if (GithubLinkBuilder.IsPushUrl(origin.PushUrl))
        {
            return(new GithubLinkBuilder(origin.PushUrl));
        }
        else if (AzureLinkBuilder.IsPushUrl(origin.PushUrl))
        {
            return(new AzureLinkBuilder(origin.PushUrl));
        }
        else if (GitlabLinkBuilder.IsPushUrl(origin.PushUrl))
        {
            return(new GitlabLinkBuilder(origin.PushUrl));
        }
        else if (BitbucketLinkBuilder.IsPushUrl(origin.PushUrl))
        {
            return(new BitbucketLinkBuilder(origin.PushUrl));
        }

        return(new PlainLinkBuilder());
    }
Exemplo n.º 2
0
        public void ShouldBuildAHTTPSCommitLink()
        {
            var commit = new ConventionalCommit {
                Sha = "734713bc047d87bf7eac9674765ae793478c50d3"
            };

            var linkBuilder = new AzureLinkBuilder("https://[email protected]/dosse/DosSE.ERP.Cloud/_git/ERP.git");
            var link        = linkBuilder.BuildCommitLink(commit);

            link.ShouldBe("https://[email protected]/dosse/DosSE.ERP.Cloud/_git/ERP/commit/734713bc047d87bf7eac9674765ae793478c50d3");
        }