Skip to content

Commit f4a2891

Browse files
committed
replace IRepository with IGitRepository
1 parent 82e0105 commit f4a2891

18 files changed

+66
-58
lines changed

src/GitVersionCore.Tests/Core/GitVersionExecutorTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ public void CacheFileIsMissing()
255255
var gitVersionOptions = new GitVersionOptions { WorkingDirectory = fixture.RepositoryPath };
256256

257257
fixture.Repository.MakeACommit();
258-
var gitVersionCalculator = GetGitVersionCalculator(gitVersionOptions, log, fixture.Repository);
258+
var gitVersionCalculator = GetGitVersionCalculator(gitVersionOptions, log, new GitRepository(fixture.Repository));
259259

260260
gitVersionCalculator.CalculateVersionVariables();
261261

@@ -299,7 +299,7 @@ public void ConfigChangeInvalidatesCache()
299299
CommitsSinceVersionSource: 19
300300
CommitsSinceVersionSourcePadded: 0019
301301
CommitDate: 2015-11-10
302-
UncommittedChanges: 0
302+
UncommittedChanges: 0
303303
";
304304

305305
using var fixture = new EmptyRepositoryFixture();
@@ -483,7 +483,7 @@ public void DynamicRepositoriesShouldNotErrorWithFailedToFindGitDirectory()
483483
}
484484
};
485485

486-
var gitVersionCalculator = GetGitVersionCalculator(gitVersionOptions, repository: fixture.Repository);
486+
var gitVersionCalculator = GetGitVersionCalculator(gitVersionOptions, repository: new GitRepository(fixture.Repository));
487487
gitPreparer.Prepare();
488488
gitVersionCalculator.CalculateVersionVariables();
489489
}
@@ -566,7 +566,7 @@ public void CalculateVersionFromWorktreeHead()
566566
version.Sha.ShouldBe(commits.First().Sha);
567567
}
568568

569-
private IGitVersionCalculateTool GetGitVersionCalculator(GitVersionOptions gitVersionOptions, ILog logger = null, IRepository repository = null, IFileSystem fs = null)
569+
private IGitVersionCalculateTool GetGitVersionCalculator(GitVersionOptions gitVersionOptions, ILog logger = null, IGitRepository repository = null, IFileSystem fs = null)
570570
{
571571
sp = GetServiceProvider(gitVersionOptions, logger, repository, fs);
572572

@@ -578,7 +578,7 @@ private IGitVersionCalculateTool GetGitVersionCalculator(GitVersionOptions gitVe
578578
return sp.GetService<IGitVersionCalculateTool>();
579579
}
580580

581-
private static IServiceProvider GetServiceProvider(GitVersionOptions gitVersionOptions, ILog log = null, IRepository repository = null, IFileSystem fileSystem = null, IEnvironment environment = null)
581+
private static IServiceProvider GetServiceProvider(GitVersionOptions gitVersionOptions, ILog log = null, IGitRepository repository = null, IFileSystem fileSystem = null, IEnvironment environment = null)
582582
{
583583
return ConfigureServices(services =>
584584
{

src/GitVersionCore.Tests/Core/RepositoryExtensionsTests.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ private IGitRepository MockRepository()
3333

3434
private Remote MockRemote(IGitRepository repository)
3535
{
36-
var branches = new TestableBranchCollection(repository);
36+
var branches = new TestableBranchCollection();
3737
var tipId = new ObjectId("c6d8764d20ff16c0df14c73680e52b255b608926");
38-
var tip = new TestableCommit(repository, tipId);
38+
var tip = new TestableCommit(tipId);
3939
var head = branches.Add("refs/heads/feature/feat-test", tip);
4040
var remote = new TesatbleRemote("origin");
4141
var references = new TestableReferenceCollection();
@@ -49,12 +49,6 @@ private Remote MockRemote(IGitRepository repository)
4949

5050
private class TestableBranchCollection : BranchCollection
5151
{
52-
private readonly IRepository repository;
53-
public TestableBranchCollection(IRepository repository)
54-
{
55-
this.repository = repository;
56-
}
57-
5852
IDictionary<string, Branch> branches = new Dictionary<string, Branch>();
5953

6054
public override Branch this[string name] =>
@@ -72,7 +66,7 @@ public override Branch Add(string name, Commit commit)
7266
public override Branch Add(string name, string committish)
7367
{
7468
var id = new ObjectId(committish);
75-
var commit = new TestableCommit(this.repository, id);
69+
var commit = new TestableCommit(id);
7670
return Add(name, commit);
7771
}
7872

@@ -127,19 +121,16 @@ public TestableBranch(string canonicalName, Commit tip)
127121
public override Commit Tip => this.tip;
128122
}
129123

130-
private class TestableCommit : Commit, IBelongToARepository
124+
private class TestableCommit : Commit
131125
{
132-
private IRepository repository;
133126
private ObjectId id;
134127

135-
public TestableCommit(IRepository repository, ObjectId id)
128+
public TestableCommit(ObjectId id)
136129
{
137-
this.repository = repository;
138130
this.id = id;
139131
}
140132

141133
public override ObjectId Id => this.id;
142-
public IRepository Repository => this.repository;
143134
}
144135

145136
private class TesatbleRemote : Remote

src/GitVersionCore.Tests/Core/RepositoryMetadataProviderTests.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using GitTools.Testing;
33
using GitVersion;
4-
using GitVersion.Extensions;
54
using GitVersion.Logging;
65
using GitVersionCore.Tests.Helpers;
76
using GitVersionCore.Tests.IntegrationTests;
@@ -63,7 +62,8 @@ public void FindsCorrectMergeBaseForForwardMerge()
6362

6463
var develop = fixture.Repository.FindBranch("develop");
6564
var release = fixture.Repository.FindBranch("release-2.0.0");
66-
var gitRepoMetadataProvider = new RepositoryMetadataProvider(log, fixture.Repository);
65+
var repository = new GitRepository(() => fixture.RepositoryPath);
66+
var gitRepoMetadataProvider = new RepositoryMetadataProvider(log, repository);
6767

6868
var releaseBranchMergeBase = gitRepoMetadataProvider.FindMergeBase(release, develop);
6969

@@ -118,7 +118,8 @@ public void FindsCorrectMergeBaseForForwardMergeMovesOn()
118118

119119
var develop = fixture.Repository.FindBranch("develop");
120120
var release = fixture.Repository.FindBranch("release-2.0.0");
121-
var gitRepoMetadataProvider = new RepositoryMetadataProvider(log, fixture.Repository);
121+
var repository = new GitRepository(() => fixture.RepositoryPath);
122+
var gitRepoMetadataProvider = new RepositoryMetadataProvider(log, repository);
122123

123124
var releaseBranchMergeBase = gitRepoMetadataProvider.FindMergeBase(release, develop);
124125

@@ -192,7 +193,8 @@ public void FindsCorrectMergeBaseForMultipleForwardMerges()
192193
var develop = fixture.Repository.FindBranch("develop");
193194
var release = fixture.Repository.FindBranch("release-2.0.0");
194195

195-
var gitRepoMetadataProvider = new RepositoryMetadataProvider(log, fixture.Repository);
196+
var repository = new GitRepository(() => fixture.RepositoryPath);
197+
var gitRepoMetadataProvider = new RepositoryMetadataProvider(log, repository);
196198

197199
var releaseBranchMergeBase = gitRepoMetadataProvider.FindMergeBase(release, develop);
198200

src/GitVersionCore.Tests/Extensions/GitToolsTestingExtensions.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.IO;
3+
using System.Linq;
34
using GitTools.Testing;
45
using GitVersion;
56
using GitVersion.BuildAgents;
@@ -18,6 +19,16 @@ namespace GitVersionCore.Tests
1819
{
1920
public static class GitToolsTestingExtensions
2021
{
22+
public static Branch FindBranch(this IRepository repository, string branchName)
23+
{
24+
return repository.Branches.FirstOrDefault(x => x.NameWithoutRemote() == branchName);
25+
}
26+
27+
public static void DumpGraph(this IRepository repository, Action<string> writer = null, int? maxCommits = null)
28+
{
29+
LibGitExtensions.DumpGraph(repository.Info.Path, writer, maxCommits);
30+
}
31+
2132
public static VersionVariables GetVersion(this RepositoryFixtureBase fixture, Config configuration = null, IRepository repository = null, string commitId = null, bool onlyTrackedBranches = true, string branch = null)
2233
{
2334
if (configuration == null)

src/GitVersionCore.Tests/Helpers/GitVersionContextBuilder.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,19 @@
66
using GitVersion.Model.Configuration;
77
using GitVersionCore.Tests.Helpers;
88
using GitVersionCore.Tests.Mocks;
9-
using LibGit2Sharp;
109
using Microsoft.Extensions.DependencyInjection;
1110
using Microsoft.Extensions.Options;
1211

1312
namespace GitVersionCore.Tests
1413
{
1514
public class GitVersionContextBuilder
1615
{
17-
private IRepository repository;
16+
private IGitRepository repository;
1817
private Config configuration;
1918
public IServiceProvider ServicesProvider;
2019
private Action<IServiceCollection> overrideServices;
2120

22-
public GitVersionContextBuilder WithRepository(IRepository gitRepository)
21+
public GitVersionContextBuilder WithRepository(IGitRepository gitRepository)
2322
{
2423
repository = gitRepository;
2524
return this;
@@ -95,7 +94,7 @@ public void Build()
9594
});
9695
}
9796

98-
private static IRepository CreateRepository()
97+
private static IGitRepository CreateRepository()
9998
{
10099
var mockBranch = new MockBranch("master") { new MockCommit { CommitterEx = Generate.SignatureNow() } };
101100
var mockRepository = new MockRepository

src/GitVersionCore.Tests/Helpers/TestBase.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using GitVersion.Configuration;
44
using GitVersion.Extensions;
55
using GitVersion.Model.Configuration;
6-
using LibGit2Sharp;
76
using Microsoft.Extensions.DependencyInjection;
87
using Microsoft.Extensions.Options;
98

@@ -25,7 +24,7 @@ protected static IServiceProvider ConfigureServices(Action<IServiceCollection> o
2524
return services.BuildServiceProvider();
2625
}
2726

28-
protected static IServiceProvider BuildServiceProvider(string workingDirectory, IRepository repository, string branch, Config config = null)
27+
protected static IServiceProvider BuildServiceProvider(string workingDirectory, IGitRepository repository, string branch, Config config = null)
2928
{
3029
config ??= new ConfigurationBuilder().Build();
3130
var options = Options.Create(new GitVersionOptions

src/GitVersionCore.Tests/IntegrationTests/DocumentationSamples.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using GitTools.Testing;
3-
using GitVersion.Extensions;
43
using GitVersionCore.Tests.Helpers;
54
using NUnit.Framework;
65
using Shouldly;

src/GitVersionCore.Tests/IntegrationTests/PullRequestScenarios.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using GitTools.Testing;
2-
using GitVersion.Extensions;
32
using GitVersionCore.Tests.Helpers;
43
using LibGit2Sharp;
54
using NUnit.Framework;

src/GitVersionCore.Tests/Mocks/MockRepository.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
using System;
22
using System.Collections.Generic;
3+
using GitVersion;
34
using LibGit2Sharp;
45
using Index = LibGit2Sharp.Index;
56

67
namespace GitVersionCore.Tests.Mocks
78
{
8-
public class MockRepository : IRepository
9+
public class MockRepository : IGitRepository
910
{
1011
private IQueryableCommitLog commits;
1112

@@ -221,5 +222,6 @@ public IQueryableCommitLog Commits
221222
public Network Network { get; set; }
222223

223224
public StashCollection Stashes => throw new NotImplementedException();
225+
public IGitRepositoryCommands Commands { get; }
224226
}
225227
}

src/GitVersionCore.Tests/Model/GitVersionContextTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void CanInheritIncrement(IncrementStrategy increment, IncrementStrategy?
6262
fixture.BranchTo(dummyBranchName);
6363
fixture.MakeACommit();
6464

65-
var context = GetGitVersionContext(fixture.RepositoryPath, fixture.Repository, dummyBranchName, config);
65+
var context = GetGitVersionContext(fixture.RepositoryPath, new GitRepository(fixture.Repository), dummyBranchName, config);
6666

6767
context.Configuration.Increment.ShouldBe(alternateExpected ?? increment);
6868
}
@@ -176,12 +176,12 @@ public void CanFindParentBranchForInheritingIncrementStrategy()
176176
Commands.Checkout(fixture.Repository, featureBranch);
177177
fixture.Repository.MakeACommit();
178178

179-
var context = GetGitVersionContext(fixture.RepositoryPath, fixture.Repository, "develop", config);
179+
var context = GetGitVersionContext(fixture.RepositoryPath, new GitRepository(fixture.Repository), "develop", config);
180180

181181
context.Configuration.Increment.ShouldBe(IncrementStrategy.Major);
182182
}
183183

184-
private static GitVersionContext GetGitVersionContext(string workingDirectory, IRepository repository, string branch, Config config = null)
184+
private static GitVersionContext GetGitVersionContext(string workingDirectory, IGitRepository repository, string branch, Config config = null)
185185
{
186186
var options = Options.Create(new GitVersionOptions
187187
{

0 commit comments

Comments
 (0)