diff --git a/src/GitHub.Api/Git/GitClient.cs b/src/GitHub.Api/Git/GitClient.cs index 12d9bf78b..9acef5286 100644 --- a/src/GitHub.Api/Git/GitClient.cs +++ b/src/GitHub.Api/Git/GitClient.cs @@ -23,7 +23,7 @@ ITask GetConfig(string key, GitConfigSource configSource, ITask SetConfig(string key, string value, GitConfigSource configSource, IOutputProcessor processor = null); - ITask GetConfigUserAndEmail(); + ITask GetConfigUserAndEmail(); ITask> ListLocks(bool local, BaseOutputListProcessor processor = null); @@ -255,26 +255,28 @@ public ITask SetConfig(string key, string value, GitConfigSource configS .Configure(processManager); } - public ITask GetConfigUserAndEmail() + public ITask GetConfigUserAndEmail() { string username = null; string email = null; - return GetConfig("user.name", GitConfigSource.User).Then((success, value) => { - if (success) - { - username = value; - } - - }).Then(GetConfig("user.email", GitConfigSource.User).Then((success, value) => { - if (success) - { - email = value; - } - })).Then(success => { - Logger.Trace("user.name:{1} user.email:{2}", success, username, email); - return new[] { username, email }; - }); + return GetConfig("user.name", GitConfigSource.User) + .Then((success, value) => { + if (success) + { + username = value; + } + }) + .Then(GetConfig("user.email", GitConfigSource.User) + .Then((success, value) => { + if (success) + { + email = value; + } + })).Then(success => { + Logger.Trace("{0}:{1} {2}:{3}", "user.name", username, "user.email", email); + return new User { Name= username, Email = email }; + }); } public ITask> ListLocks(bool local, BaseOutputListProcessor processor = null) diff --git a/src/GitHub.Api/Git/RepositoryManager.cs b/src/GitHub.Api/Git/RepositoryManager.cs index 0e2300a1a..6adf29213 100644 --- a/src/GitHub.Api/Git/RepositoryManager.cs +++ b/src/GitHub.Api/Git/RepositoryManager.cs @@ -299,18 +299,9 @@ public ITask UnlockFile(string file, bool force) private void LoadGitUser() { GitClient.GetConfigUserAndEmail() - .Then((success, strings) => { - var username = strings[0]; - var email = strings[1]; - - var user = new User { - Name = username, - Email = email - }; - + .Then((success, user) => { Logger.Trace("OnGitUserLoaded: {0}", user); OnGitUserLoaded?.Invoke(user); - }).Start(); } diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/InitProjectView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/InitProjectView.cs index fa87e3454..9a195b510 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/InitProjectView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/InitProjectView.cs @@ -96,12 +96,9 @@ private void CheckForUser() Logger.Trace("Checking for user"); isBusy = true; - GitClient.GetConfigUserAndEmail().FinallyInUI((success, ex, strings) => { - var username = strings[0]; - var email = strings[1]; - + GitClient.GetConfigUserAndEmail().FinallyInUI((success, ex, user) => { isBusy = false; - isUserDataPresent = success && !String.IsNullOrEmpty(username) && !String.IsNullOrEmpty(email); + isUserDataPresent = success && !String.IsNullOrEmpty(user.Name) && !String.IsNullOrEmpty(user.Email); hasCompletedInitialCheck = true; Logger.Trace("User Present: {0}", isUserDataPresent); diff --git a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/UserSettingsView.cs b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/UserSettingsView.cs index 3a984b488..0e9695c05 100644 --- a/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/UserSettingsView.cs +++ b/src/UnityExtension/Assets/Editor/GitHub.Unity/UI/UserSettingsView.cs @@ -115,16 +115,10 @@ private void MaybeUpdateData() { if ((cachedUser == null || String.IsNullOrEmpty(cachedUser.Name)) && GitClient != null) { - GitClient.GetConfigUserAndEmail().FinallyInUI((success, ex, strings) => { - var username = strings[0]; - var email = strings[1]; - - if (success && !String.IsNullOrEmpty(username) && !String.IsNullOrEmpty(email)) + GitClient.GetConfigUserAndEmail().FinallyInUI((success, ex, user) => { + if (success && !String.IsNullOrEmpty(user.Name) && !String.IsNullOrEmpty(user.Email)) { - cachedUser = new User { - Name = username, - Email = email - }; + cachedUser = user; userDataHasChanged = true; Redraw();