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

Commit 46b21df

Browse files
authored
Merge pull request #392 from github-for-unity/fixes/git-status-output-processor
Changing a nullable GitStatus operations to non nullable
2 parents f810561 + 54c55aa commit 46b21df

File tree

8 files changed

+18
-19
lines changed

8 files changed

+18
-19
lines changed

src/GitHub.Api/Git/GitClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public interface IGitClient
1515

1616
ITask LfsInstall(IOutputProcessor<string> processor = null);
1717

18-
ITask<GitStatus?> Status(IOutputProcessor<GitStatus?> processor = null);
18+
ITask<GitStatus> Status(IOutputProcessor<GitStatus> processor = null);
1919

2020
ITask<string> GetConfig(string key, GitConfigSource configSource,
2121
IOutputProcessor<string> processor = null);
@@ -207,7 +207,7 @@ public ITask LfsInstall(IOutputProcessor<string> processor = null)
207207
.Configure(processManager);
208208
}
209209

210-
public ITask<GitStatus?> Status(IOutputProcessor<GitStatus?> processor = null)
210+
public ITask<GitStatus> Status(IOutputProcessor<GitStatus> processor = null)
211211
{
212212
Logger.Trace("Status");
213213

src/GitHub.Api/Git/RepositoryManager.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,10 @@ private void UpdateGitStatus()
397397
var task = GitClient.Status()
398398
.Finally((success, ex, data) =>
399399
{
400-
Logger.Trace($"GitStatus update: {success} {(data.HasValue ? data.Value.ToString() : "[null]")}");
401-
if (success && data.HasValue)
400+
Logger.Trace($"GitStatus update: {success} {data}");
401+
if (success)
402402
{
403-
OnStatusUpdated?.Invoke(data.Value);
403+
OnStatusUpdated?.Invoke(data);
404404
Logger.Trace("Updated Git Status");
405405
}
406406
});

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

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

33
namespace GitHub.Unity
44
{
5-
class GitStatusTask : ProcessTask<GitStatus?>
5+
class GitStatusTask : ProcessTask<GitStatus>
66
{
77
private const string TaskName = "git status";
88

99
public GitStatusTask(IGitObjectFactory gitObjectFactory,
10-
CancellationToken token, IOutputProcessor<GitStatus?> processor = null)
10+
CancellationToken token, IOutputProcessor<GitStatus> processor = null)
1111
: base(token, processor ?? new StatusOutputProcessor(gitObjectFactory))
1212
{
1313
Name = TaskName;

src/GitHub.Api/OutputProcessors/StatusOutputProcessor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace GitHub.Unity
77
{
8-
class StatusOutputProcessor : BaseOutputProcessor<GitStatus?>
8+
class StatusOutputProcessor : BaseOutputProcessor<GitStatus>
99
{
1010
private static readonly Regex branchTrackedAndDelta = new Regex(@"(.*)\.\.\.(.*)\s\[(.*)\]",
1111
RegexOptions.Compiled);

src/tests/IntegrationTests/ProcessManagerExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public static ITask<List<GitLogEntry>> GetGitLogEntries(this IProcessManager pro
4444
.Configure(processManager, path, logNameStatus, workingDirectory, false);
4545
}
4646

47-
public static ITask<GitStatus?> GetGitStatus(this IProcessManager processManager,
47+
public static ITask<GitStatus> GetGitStatus(this IProcessManager processManager,
4848
NPath workingDirectory,
4949
IEnvironment environment, IProcessEnvironment gitEnvironment,
5050
NPath gitPath = null)
@@ -54,7 +54,7 @@ public static ITask<List<GitLogEntry>> GetGitLogEntries(this IProcessManager pro
5454

5555
NPath path = gitPath ?? defaultGitPath;
5656

57-
return new ProcessTask<GitStatus?>(CancellationToken.None, processor)
57+
return new ProcessTask<GitStatus>(CancellationToken.None, processor)
5858
.Configure(processManager, path, "status -b -u --porcelain", workingDirectory, false);
5959
}
6060

src/tests/TestUtils/Substitutes/CreateRepositoryProcessRunnerOptions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ class CreateRepositoryProcessRunnerOptions
77
{
88
public Dictionary<GitConfigGetKey, string> GitConfigGetResults { get; set; }
99

10-
public GitStatus? GitStatusResults { get; set; }
10+
public GitStatus GitStatusResults { get; set; }
1111

1212
public List<GitLock> GitListLocksResults { get; set; }
1313

1414
public CreateRepositoryProcessRunnerOptions(Dictionary<GitConfigGetKey, string> getConfigResults = null,
15-
GitStatus? gitStatusResults = null,
15+
GitStatus gitStatusResults = new GitStatus(),
1616
List<GitLock> gitListLocksResults = null)
1717
{
1818
GitListLocksResults = gitListLocksResults;

src/tests/TestUtils/Substitutes/SubstituteFactory.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -411,13 +411,12 @@ public IGitClient CreateRepositoryProcessRunner(
411411
});
412412

413413
gitClient.Status().Returns(info => {
414-
GitStatus? result = options.GitStatusResults;
415-
416-
var ret = new FuncTask<GitStatus?>(CancellationToken.None, _ => result);
414+
var result = options.GitStatusResults;
415+
var ret = new FuncTask<GitStatus>(CancellationToken.None, _ => result);
417416

418417
logger.Trace(@"RunGitStatus() -> {0}",
419-
result != null ? $"Success: \"{result.Value}\"" : "Failure");
420-
var task = Args.GitStatusTask;
418+
$"Success: \"{result}\"");
419+
421420
return ret;
422421
});
423422

src/tests/UnitTests/ProcessManagerExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ public static async Task<GitStatus> GetGitStatus(this ProcessManager processMana
6262

6363
NPath path = gitPath ?? defaultGitPath;
6464

65-
var results = await new ProcessTask<GitStatus?>(CancellationToken.None, processor)
65+
var results = await new ProcessTask<GitStatus>(CancellationToken.None, processor)
6666
.Configure(processManager, path, "status -b -u --porcelain", workingDirectory, false)
6767
.Start()
6868
.Task;
6969

70-
return results.Value;
70+
return results;
7171
}
7272

7373
public static async Task<List<GitRemote>> GetGitRemoteEntries(this ProcessManager processManager,

0 commit comments

Comments
 (0)