diff --git a/src/GitHub.Api/Git/GitClient.cs b/src/GitHub.Api/Git/GitClient.cs index c7439b504..b892f8cb1 100644 --- a/src/GitHub.Api/Git/GitClient.cs +++ b/src/GitHub.Api/Git/GitClient.cs @@ -112,11 +112,6 @@ public GitClient(IEnvironment environment, IProcessManager processManager, Cance public ITask ValidateGitInstall(NPath path) { - if (!path.FileExists()) - { - return new FuncTask(TaskEx.FromResult(new ValidateGitInstallResult(false, null, null))); - } - Version gitVersion = null; Version gitLfsVersion = null; @@ -125,23 +120,18 @@ public ITask ValidateGitInstall(NPath path) gitVersion?.CompareTo(Constants.MinimumGitVersion) >= 0 && gitLfsVersion?.CompareTo(Constants.MinimumGitLfsVersion) >= 0, gitVersion, gitLfsVersion)); - - var gitLfsVersionTask = new GitLfsVersionTask(cancellationToken).Configure(processManager, path); - - gitLfsVersionTask - .Then((result, version) => {return gitLfsVersion = version;}) - .Then(endTask, taskIsTopOfChain: true); - - gitLfsVersionTask.Then(endTask, TaskRunOptions.OnFailure, taskIsTopOfChain:true); - - var gitVersionTask = new GitVersionTask(cancellationToken).Configure(processManager, path); - - gitVersionTask - .Then((result, version) => { return gitVersion = version; }) - .Then(gitLfsVersionTask, taskIsTopOfChain: true); - - gitVersionTask.Then(endTask, TaskRunOptions.OnFailure, taskIsTopOfChain:true); + if (path.FileExists()) + { + var gitLfsVersionTask = new GitLfsVersionTask(cancellationToken).Configure(processManager, path); + gitLfsVersionTask.OnEnd += (t, v, _, __) => gitLfsVersion = v; + var gitVersionTask = new GitVersionTask(cancellationToken).Configure(processManager, path); + gitVersionTask.OnEnd += (t, v, _, __) => gitVersion = v; + + gitVersionTask + .Then(gitLfsVersionTask) + .Finally(endTask); + } return endTask; } diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/GitPathView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/GitPathView.cs index 17128c4ac..fb7de4e83 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/GitPathView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/GitPathView.cs @@ -218,7 +218,7 @@ private void ValidateAndSetGitInstallPath(string value) gitVersionErrorMessage = null; GitClient.ValidateGitInstall(value.ToNPath()) - .FinallyInUI((success, exception, result) => + .ThenInUI((success, result) => { if (!success) {