From 71e46c7b2f69cde36349d0d0ae0900fbe857b35a Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Fri, 8 May 2015 20:53:15 +0200 Subject: [PATCH] Correctly display "fetch origin +refs/heads/*:refs/heads/*: forced-update" in reflog (fixes issue #2495) Signed-off-by: Sven Strickroth --- src/Git/GitRevLoglist.cpp | 6 +++--- test/UnitTests/GitRevLoglistTest.cpp | 20 ++++++++++++++------ .../resources/git-repo1/logs/refs/heads/master | 3 ++- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/Git/GitRevLoglist.cpp b/src/Git/GitRevLoglist.cpp index 715d9d82f..a1600a25a 100644 --- a/src/Git/GitRevLoglist.cpp +++ b/src/Git/GitRevLoglist.cpp @@ -407,7 +407,7 @@ int GitRevLoglist::GetRefLog(const CString& ref, std::vector& ref if (git_reflog_entry_message(entry) != nullptr) { CString one = CUnicodeUtils::GetUnicode(git_reflog_entry_message(entry)); - int message = one.Find(_T(":"), 0); + int message = one.Find(_T(": "), 0); if (message > 0) { rev.m_RefAction = one.Left(message); @@ -433,7 +433,7 @@ int GitRevLoglist::GetRefLog(const CString& ref, std::vector& ref rev.GetCommitterDate() = CTime(time); CString one = CUnicodeUtils::GetUnicode(msg); - int message = one.Find(_T(":"), 0); + int message = one.Find(_T(": "), 0); if (message > 0) { rev.m_RefAction = one.Left(message); @@ -499,7 +499,7 @@ int GitRevLoglist::GetRefLog(const CString& ref, std::vector& ref if (action > 0) { action += 2; - int message = one.Find(_T(":"), action); + int message = one.Find(_T(": "), action); if (message > 0) { rev.m_RefAction = one.Mid(action + 1, message - action - 1); diff --git a/test/UnitTests/GitRevLoglistTest.cpp b/test/UnitTests/GitRevLoglistTest.cpp index 78a3d3df7..ad17cc10f 100644 --- a/test/UnitTests/GitRevLoglistTest.cpp +++ b/test/UnitTests/GitRevLoglistTest.cpp @@ -432,7 +432,7 @@ static void GetReflog() err.Empty(); EXPECT_EQ(0, GitRevLoglist::GetRefLog(_T("refs/heads/master"), revloglist, err)); - ASSERT_EQ(6, revloglist.size()); + ASSERT_EQ(7, revloglist.size()); EXPECT_TRUE(err.IsEmpty()); EXPECT_STREQ(_T("7c3cbfe13a929d2291a574dca45e4fd2d2ac1aa6"), revloglist[0].m_CommitHash.ToString()); @@ -469,11 +469,19 @@ static void GetReflog() EXPECT_STREQ(_T("7c3cbfe13a929d2291a574dca45e4fd2d2ac1aa6"), revloglist[5].m_CommitHash.ToString()); EXPECT_STREQ(_T("refs/heads/master@{5}"), revloglist[5].m_Ref); - EXPECT_STREQ(_T("push"), revloglist[5].m_RefAction); - //EXPECT_STREQ(_T("Sven Strickroth"), revloglist[5].GetCommitterName()); - //EXPECT_STREQ(_T("email@cs-ware.de"), revloglist[5].GetCommitterEmail()); - EXPECT_STREQ(_T("2015-03-16 12:51:40"), revloglist[5].GetCommitterDate().FormatGmt(L"%Y-%m-%d %H:%M:%S")); - EXPECT_STREQ(_T(""), revloglist[5].GetSubject()); + EXPECT_STREQ(_T("fetch origin +refs/heads/*:refs/heads/*"), revloglist[5].m_RefAction); + //EXPECT_STREQ(_T("Dummy author"), revloglist[5].GetCommitterName()); + //EXPECT_STREQ(_T("a@example.com"), revloglist[5].GetCommitterEmail()); + EXPECT_STREQ(_T("2015-03-16 12:52:10"), revloglist[5].GetCommitterDate().FormatGmt(L"%Y-%m-%d %H:%M:%S")); + EXPECT_STREQ(_T(" forced-update"), revloglist[5].GetSubject()); + + EXPECT_STREQ(_T("560deea87853158b22d0c0fd73f60a458d47838a"), revloglist[6].m_CommitHash.ToString()); + EXPECT_STREQ(_T("refs/heads/master@{6}"), revloglist[6].m_Ref); + EXPECT_STREQ(_T("push"), revloglist[6].m_RefAction); + //EXPECT_STREQ(_T("Sven Strickroth"), revloglist[6].GetCommitterName()); + //EXPECT_STREQ(_T("email@cs-ware.de"), revloglist[6].GetCommitterEmail()); + EXPECT_STREQ(_T("2015-03-16 12:51:40"), revloglist[6].GetCommitterDate().FormatGmt(L"%Y-%m-%d %H:%M:%S")); + EXPECT_STREQ(_T(""), revloglist[6].GetSubject()); } TEST_P(GitRevLoglist2CBasicGitWithTestRepoFixture, GetReflog) diff --git a/test/UnitTests/resources/git-repo1/logs/refs/heads/master b/test/UnitTests/resources/git-repo1/logs/refs/heads/master index 4bda15c0e..7fc6a9fd6 100644 --- a/test/UnitTests/resources/git-repo1/logs/refs/heads/master +++ b/test/UnitTests/resources/git-repo1/logs/refs/heads/master @@ -1,4 +1,5 @@ -0000000000000000000000000000000000000000 7c3cbfe13a929d2291a574dca45e4fd2d2ac1aa6 Sven Strickroth 1426510300 +0100 push +0000000000000000000000000000000000000000 560deea87853158b22d0c0fd73f60a458d47838a Sven Strickroth 1426510300 +0100 push +560deea87853158b22d0c0fd73f60a458d47838a 7c3cbfe13a929d2291a574dca45e4fd2d2ac1aa6 Dummy author 1426510330 +0100 fetch origin +refs/heads/*:refs/heads/*: forced-update 7c3cbfe13a929d2291a574dca45e4fd2d2ac1aa6 32c344625f14ecb16b6f003a77eb7a3d2c15d470 Sven Strickroth 1426510342 +0100 commit: renamed a file 32c344625f14ecb16b6f003a77eb7a3d2c15d470 df8019413c88d2aedbf33fc2dac3544312da4c18 Sven Strickroth 1426510500 +0100 commit (amend): Several actions df8019413c88d2aedbf33fc2dac3544312da4c18 aa5b97f89cea6863222823c8289ce392d06d1691 Dümmy User 1426510747 +0100 reset: moving to aa5b97f89cea6863222823c8289ce392d06d1691 -- 2.11.4.GIT