diff --git a/package/GitCommand/GitCommand.Tests/GitTest.cs b/package/GitCommand/GitCommand.Tests/GitTest.cs index 51adc5c..2ce0f88 100644 --- a/package/GitCommand/GitCommand.Tests/GitTest.cs +++ b/package/GitCommand/GitCommand.Tests/GitTest.cs @@ -32,5 +32,17 @@ public void Push() git.Push("origin", "master"); }); } + + [ContractTestCase] + public void GetCurrentCommit() + { + "尝试获取当前的 commit 字符串,可以获取成功".Test(() => + { + var git = new Git(new DirectoryInfo(".")); + var currentCommit = git.GetCurrentCommit(); + Assert.IsNotNull(currentCommit); + Assert.AreEqual(false, currentCommit.Contains('\n')); + }); + } } } diff --git a/package/GitCommand/GitCommand/Git.cs b/package/GitCommand/GitCommand/Git.cs index 230ede7..21f3663 100644 --- a/package/GitCommand/GitCommand/Git.cs +++ b/package/GitCommand/GitCommand/Git.cs @@ -68,19 +68,8 @@ public string[] GetLogCommit() /// public string GetCurrentCommit() { - var file = Path.GetTempFileName(); - Control($"rev-parse HEAD > \"{file}\""); - var commit = File.ReadAllText(file).Trim(); - try - { - File.Delete(file); - } - catch - { - // 清掉失败?那啥也不用做 - } - - return commit; + var (success, output) = ExecuteCommand("rev-parse HEAD"); + return output.Trim('\n'); } ///