Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 52271d9

Browse files
Merge remote-tracking branch 'remotes/origin/enhancements/git-install-validation' into enhancements/git-path-view
2 parents 643bb80 + 46df8f3 commit 52271d9

14 files changed

+42
-182
lines changed

src/GitHub.Api/Git/GitClient.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ ITask<string> Unlock(string file, bool force,
7979

8080
ITask<List<GitLogEntry>> Log(BaseOutputListProcessor<GitLogEntry> processor = null);
8181

82-
ITask<SoftwareVersion> Version(IOutputProcessor<SoftwareVersion> processor = null);
82+
ITask<Version> Version(IOutputProcessor<Version> processor = null);
8383

84-
ITask<SoftwareVersion> LfsVersion(IOutputProcessor<SoftwareVersion> processor = null);
84+
ITask<Version> LfsVersion(IOutputProcessor<Version> processor = null);
8585
}
8686

8787
class GitClient : IGitClient
@@ -157,11 +157,11 @@ public ITask<ValidateGitInstallResult> ValidateGitInstall(string path)
157157
if (!path.ToNPath().FileExists())
158158
{
159159
return new FuncTask<ValidateGitInstallResult>(cancellationToken,
160-
() => new ValidateGitInstallResult(false, SoftwareVersion.Undefined, SoftwareVersion.Undefined));
160+
() => new ValidateGitInstallResult(false, null, null));
161161
}
162162

163-
var gitVersion = SoftwareVersion.Undefined;
164-
var gitLfsVersion = SoftwareVersion.Undefined;
163+
Version gitVersion = null;
164+
Version gitLfsVersion = null;
165165

166166
var gitVersionTask = new GitVersionTask(cancellationToken);
167167
gitVersionTask.Configure(processManager, path,
@@ -178,9 +178,9 @@ public ITask<ValidateGitInstallResult> ValidateGitInstall(string path)
178178
gitLfsVersion = version;
179179
}).Then(result => {
180180
var b = result
181-
&& gitVersion != SoftwareVersion.Undefined
181+
&& gitVersion != null
182182
&& gitVersion >= Constants.MinimumGitVersion
183-
&& gitLfsVersion != SoftwareVersion.Undefined
183+
&& gitLfsVersion != null
184184
&& gitLfsVersion >= Constants.MinimumGitLfsVersion;
185185

186186
return new ValidateGitInstallResult(b, gitVersion, gitLfsVersion);
@@ -217,15 +217,15 @@ public ITask<List<GitLogEntry>> Log(BaseOutputListProcessor<GitLogEntry> process
217217
.Configure(processManager);
218218
}
219219

220-
public ITask<SoftwareVersion> Version(IOutputProcessor<SoftwareVersion> processor = null)
220+
public ITask<Version> Version(IOutputProcessor<Version> processor = null)
221221
{
222222
Logger.Trace("Version");
223223

224224
return new GitVersionTask(cancellationToken, processor)
225225
.Configure(processManager);
226226
}
227227

228-
public ITask<SoftwareVersion> LfsVersion(IOutputProcessor<SoftwareVersion> processor = null)
228+
public ITask<Version> LfsVersion(IOutputProcessor<Version> processor = null)
229229
{
230230
Logger.Trace("LfsVersion");
231231

src/GitHub.Api/Git/Tasks/GitLfsVersionTask.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1+
using System;
12
using System.Threading;
23

34
namespace GitHub.Unity
45
{
5-
class GitLfsVersionTask : ProcessTask<SoftwareVersion>
6+
class GitLfsVersionTask : ProcessTask<Version>
67
{
78
private const string TaskName = "git lfs version";
89

9-
public GitLfsVersionTask(CancellationToken token, IOutputProcessor<SoftwareVersion> processor = null)
10+
public GitLfsVersionTask(CancellationToken token, IOutputProcessor<Version> processor = null)
1011
: base(token, processor ?? new LfsVersionOutputProcessor())
1112
{
1213
Name = TaskName;

src/GitHub.Api/Git/Tasks/GitVersionTask.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1+
using System;
12
using System.Threading;
23

34
namespace GitHub.Unity
45
{
5-
class GitVersionTask : ProcessTask<SoftwareVersion>
6+
class GitVersionTask : ProcessTask<Version>
67
{
78
private const string TaskName = "git --version";
89

9-
public GitVersionTask(CancellationToken token, IOutputProcessor<SoftwareVersion> processor = null)
10+
public GitVersionTask(CancellationToken token, IOutputProcessor<Version> processor = null)
1011
: base(token, processor ?? new VersionOutputProcessor())
1112
{
1213
Name = TaskName;

src/GitHub.Api/Git/ValidateGitInstallResult.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
namespace GitHub.Unity
1+
using System;
2+
3+
namespace GitHub.Unity
24
{
35
struct ValidateGitInstallResult
46
{
57
public bool IsValid;
6-
public SoftwareVersion GitVersion;
7-
public SoftwareVersion GitLfsVersion;
8+
public Version GitVersion;
9+
public Version GitLfsVersion;
810

9-
public ValidateGitInstallResult(bool isValid, SoftwareVersion gitVersion, SoftwareVersion gitLfsVersion)
11+
public ValidateGitInstallResult(bool isValid, Version gitVersion, Version gitLfsVersion)
1012
{
1113
IsValid = isValid;
1214
GitVersion = gitVersion;

src/GitHub.Api/GitHub.Api.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@
113113
<Compile Include="Cache\IBranchCache.cs" />
114114
<Compile Include="Helpers\Validation.cs" />
115115
<Compile Include="OutputProcessors\LfsVersionOutputProcessor.cs" />
116-
<Compile Include="OutputProcessors\SoftwareVersion.cs" />
117116
<Compile Include="OutputProcessors\VersionOutputProcessor.cs" />
118117
<Compile Include="Helpers\TaskHelpers.cs" />
119118
<Compile Include="Platform\DefaultEnvironment.cs" />

src/GitHub.Api/Helpers/Constants.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System;
2+
13
namespace GitHub.Unity
24
{
35
static class Constants
@@ -8,7 +10,7 @@ static class Constants
810
public const string GitInstallPathKey = "GitInstallPath";
911
public const string TraceLoggingKey = "EnableTraceLogging";
1012

11-
public static readonly SoftwareVersion MinimumGitVersion = new SoftwareVersion(2, 11, 0);
12-
public static readonly SoftwareVersion MinimumGitLfsVersion = new SoftwareVersion(2, 2, 0);
13+
public static readonly Version MinimumGitVersion = new Version(2, 11, 0);
14+
public static readonly Version MinimumGitLfsVersion = new Version(2, 2, 0);
1315
}
1416
}

src/GitHub.Api/OutputProcessors/LfsVersionOutputProcessor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace GitHub.Unity
44
{
5-
class LfsVersionOutputProcessor : BaseOutputProcessor<SoftwareVersion>
5+
class LfsVersionOutputProcessor : BaseOutputProcessor<Version>
66
{
77
public override void LineReceived(string line)
88
{
@@ -15,7 +15,7 @@ public override void LineReceived(string line)
1515
line = line.Substring(gitVersion.Length, line.IndexOf(" ", StringComparison.InvariantCultureIgnoreCase) - gitVersion.Length);
1616
var strings = line.Split(new[] { "." }, StringSplitOptions.None);
1717

18-
RaiseOnEntry(new SoftwareVersion(strings[0], strings[1], strings[2]));
18+
RaiseOnEntry(new Version(Int32.Parse(strings[0]), Int32.Parse(strings[1]), Int32.Parse(strings[2])));
1919
}
2020
}
2121
}

src/GitHub.Api/OutputProcessors/SoftwareVersion.cs

Lines changed: 0 additions & 105 deletions
This file was deleted.

src/GitHub.Api/OutputProcessors/VersionOutputProcessor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace GitHub.Unity
55
{
6-
class VersionOutputProcessor : BaseOutputProcessor<SoftwareVersion>
6+
class VersionOutputProcessor : BaseOutputProcessor<Version>
77
{
88
public override void LineReceived(string line)
99
{
@@ -16,7 +16,7 @@ public override void LineReceived(string line)
1616
line = line.Substring(gitVersion.Length);
1717
var strings = line.Split(new[] { "." }, StringSplitOptions.None);
1818

19-
RaiseOnEntry(new SoftwareVersion(strings[0], strings[1], strings[2]));
19+
RaiseOnEntry(new Version(Int32.Parse(strings[0]), Int32.Parse(strings[1]), Int32.Parse(strings[2])));
2020
}
2121
}
2222
}

src/tests/IntegrationTests/GitClientTests.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using System.Threading.Tasks;
23
using FluentAssertions;
34
using GitHub.Unity;
@@ -19,11 +20,11 @@ public async Task ShouldGetGitVersion()
1920
var versionResult = version.Result;
2021
if (Environment.IsWindows)
2122
{
22-
versionResult.Should().Be($"2.11.1");
23+
versionResult.Should().Be(new Version(2,11,1));
2324
}
2425
else
2526
{
26-
versionResult.Should().NotBe(string.Empty);
27+
versionResult.Should().NotBeNull();
2728
}
2829
}
2930

@@ -38,11 +39,11 @@ public async Task ShouldGetGitLfsVersion()
3839
var versionResult = version.Result;
3940
if (Environment.IsWindows)
4041
{
41-
versionResult.Should().Be("2.2.0");
42+
versionResult.Should().Be(new Version(2, 2, 0));
4243
}
4344
else
4445
{
45-
versionResult.Should().NotBe(string.Empty);
46+
versionResult.Should().NotBeNull();
4647
}
4748
}
4849
}

0 commit comments

Comments
 (0)