From 8969d10cdc1a237401fdc008c24aed21d18edecd Mon Sep 17 00:00:00 2001 From: Stanley Goldman Date: Thu, 9 Nov 2017 11:03:36 -0500 Subject: [PATCH 1/3] GitClient should return user --- src/GitHub.Api/Git/GitClient.cs | 6 +++--- src/GitHub.Api/Git/RepositoryManager.cs | 11 +---------- .../Assets/Editor/GitHub.Unity/UI/InitProjectView.cs | 7 ++----- .../Editor/GitHub.Unity/UI/UserSettingsView.cs | 12 +++--------- 4 files changed, 9 insertions(+), 27 deletions(-) diff --git a/src/GitHub.Api/Git/GitClient.cs b/src/GitHub.Api/Git/GitClient.cs index 12d9bf78b..21c898d6b 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,7 +255,7 @@ public ITask SetConfig(string key, string value, GitConfigSource configS .Configure(processManager); } - public ITask GetConfigUserAndEmail() + public ITask GetConfigUserAndEmail() { string username = null; string email = null; @@ -273,7 +273,7 @@ public ITask GetConfigUserAndEmail() } })).Then(success => { Logger.Trace("user.name:{1} user.email:{2}", success, username, email); - return new[] { username, email }; + return new User { Name= username, Email = email }; }); } 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(); From 82599d9aae2d8ea3ba46ef459588983e4dd49aa6 Mon Sep 17 00:00:00 2001 From: Stanley Goldman Date: Thu, 9 Nov 2017 11:24:09 -0500 Subject: [PATCH 2/3] Formatting some code --- src/GitHub.Api/Git/GitClient.cs | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/GitHub.Api/Git/GitClient.cs b/src/GitHub.Api/Git/GitClient.cs index 21c898d6b..e6d4f1f5e 100644 --- a/src/GitHub.Api/Git/GitClient.cs +++ b/src/GitHub.Api/Git/GitClient.cs @@ -260,21 +260,23 @@ 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 User { Name= username, Email = 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}", UserNameConfigKey, username, UserEmailConfigKey, email); + return new User { Name= username, Email = email }; + }); } public ITask> ListLocks(bool local, BaseOutputListProcessor processor = null) From 12449b8214bd897e1b372697b7bc65108b8718de Mon Sep 17 00:00:00 2001 From: Stanley Goldman Date: Thu, 9 Nov 2017 12:02:17 -0500 Subject: [PATCH 3/3] Fixing compile error --- src/GitHub.Api/Git/GitClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GitHub.Api/Git/GitClient.cs b/src/GitHub.Api/Git/GitClient.cs index e6d4f1f5e..9acef5286 100644 --- a/src/GitHub.Api/Git/GitClient.cs +++ b/src/GitHub.Api/Git/GitClient.cs @@ -274,7 +274,7 @@ public ITask GetConfigUserAndEmail() email = value; } })).Then(success => { - Logger.Trace("{0}:{1} {2}:{3}", UserNameConfigKey, username, UserEmailConfigKey, email); + Logger.Trace("{0}:{1} {2}:{3}", "user.name", username, "user.email", email); return new User { Name= username, Email = email }; }); }