public void CanCalculatePullRequestChanges() { using (var fixture = new EmptyRepositoryFixture(new Config())) { fixture.Repository.MakeATaggedCommit("0.1.0"); fixture.Repository.CreateBranch("feature/Foo").Checkout(); fixture.Repository.MakeACommit(); fixture.Repository.CreatePullRequest("feature/Foo", "master"); fixture.DumpGraph(); fixture.AssertFullSemver("0.1.1-PullRequest.2+2"); } }
public void CanCalculatePullRequestChangesFromRemoteRepo() { using (var fixture = new EmptyRepositoryFixture(new Config())) { fixture.Repository.MakeATaggedCommit("0.1.0"); fixture.Repository.CreateBranch("feature/Foo").Checkout(); fixture.Repository.MakeACommit(); fixture.Repository.CreatePullRequest("feature/Foo", "master"); fixture.DumpGraph(); fixture.AssertFullSemver("0.1.1-PullRequest.2+2"); } }
public void CanCalculatePullRequestChangesInheritingConfig() { using (var fixture = new EmptyRepositoryFixture(new Config())) { fixture.Repository.MakeATaggedCommit("0.1.0"); fixture.Repository.CreateBranch("develop").Checkout(); fixture.Repository.MakeACommit(); fixture.Repository.CreateBranch("feature/Foo").Checkout(); fixture.Repository.MakeACommit(); fixture.Repository.CreatePullRequest("feature/Foo", "develop", 44); fixture.DumpGraph(); fixture.AssertFullSemver("0.2.0-PullRequest.44+3"); } }
public void UpdatesExistingDynamicRepository() { var repoName = Guid.NewGuid().ToString(); var tempPath = Path.GetTempPath(); var tempDir = Path.Combine(tempPath, repoName); Directory.CreateDirectory(tempDir); string dynamicRepositoryPath = null; try { using (var mainRepositoryFixture = new EmptyRepositoryFixture(new Config())) { mainRepositoryFixture.Repository.MakeCommits(1); var arguments = new Arguments { TargetPath = tempDir, TargetUrl = mainRepositoryFixture.RepositoryPath, TargetBranch = "master" }; var gitPreparer = new GitPreparer(arguments.TargetUrl, arguments.DynamicRepositoryLocation, arguments.Authentication, arguments.TargetBranch, arguments.NoFetch, arguments.TargetPath); gitPreparer.Initialise(false); dynamicRepositoryPath = gitPreparer.GetDotGitDirectory(); var newCommit = mainRepositoryFixture.Repository.MakeACommit(); gitPreparer.Initialise(false); using (var repository = new Repository(dynamicRepositoryPath)) { mainRepositoryFixture.DumpGraph(); repository.DumpGraph(); repository.Commits.ShouldContain(c => c.Sha == newCommit.Sha); } } } finally { Directory.Delete(tempDir, true); if (dynamicRepositoryPath != null) { DeleteHelper.DeleteGitRepository(dynamicRepositoryPath); } } }