From a51cf01866f3f308ba46f282958be26c7ca4678b Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Tue, 5 Jan 2021 18:16:07 +0100 Subject: [PATCH] Make Git >= 2.24 the default for config file path detection Git 2.24 is now older than 1 year. Related to commit 03cd5e8a5a673c2572c6736dedb734a1d2f2c5d4 "Add support for Git for Windows 2.24 new config file location". Signed-off-by: Sven Strickroth --- ext/tgit | 2 +- src/Git/GitIndex.cpp | 2 +- src/GitWCRev/status.cpp | 2 +- src/TortoiseProc/Settings/SetMainPage.cpp | 5 +++-- src/TortoiseProc/TortoiseProc.cpp | 6 +++--- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ext/tgit b/ext/tgit index 9ea8e9393..e01c2622e 160000 --- a/ext/tgit +++ b/ext/tgit @@ -1 +1 @@ -Subproject commit 9ea8e939334cdd8fb2e7ddea8fa404830d53d941 +Subproject commit e01c2622e83280fb03c109902d0836f62f4d9b94 diff --git a/src/Git/GitIndex.cpp b/src/Git/GitIndex.cpp index 5e5652a7f..78f417ca5 100644 --- a/src/Git/GitIndex.cpp +++ b/src/Git/GitIndex.cpp @@ -33,7 +33,7 @@ CGitAdminDirMap g_AdminDirMap; static CString GetProgramDataGitConfig() { - if (!((static_cast(CRegDWORD(L"Software\\TortoiseGit\\git_cached_version", 0)) >= ConvertVersionToInt(2, 24, 0)) || (CRegDWORD(L"Software\\TortoiseGit\\CygwinHack", FALSE) == TRUE) || (CRegDWORD(L"Software\\TortoiseGit\\Msys2Hack", FALSE) == TRUE))) + if (!((static_cast(CRegDWORD(L"Software\\TortoiseGit\\git_cached_version", ConvertVersionToInt(2, 24, 0))) >= ConvertVersionToInt(2, 24, 0)) || (CRegDWORD(L"Software\\TortoiseGit\\CygwinHack", FALSE) == TRUE) || (CRegDWORD(L"Software\\TortoiseGit\\Msys2Hack", FALSE) == TRUE))) { CComHeapPtr pszPath; if (SHGetKnownFolderPath(FOLDERID_ProgramData, 0, nullptr, &pszPath) == S_OK && wcslen(pszPath) < MAX_PATH - wcslen(L"\\Git\\config")) diff --git a/src/GitWCRev/status.cpp b/src/GitWCRev/status.cpp index f222b7ac0..8d122b8b5 100644 --- a/src/GitWCRev/status.cpp +++ b/src/GitWCRev/status.cpp @@ -95,7 +95,7 @@ static std::wstring GetProgramDataConfig() return {}; // Git >= 2.24 doesn't use ProgramData any more - if (CRegStdDWORD(L"Software\\TortoiseGit\\git_cached_version", 0) >= (2 << 24 | 24 << 16)) + if (CRegStdDWORD(L"Software\\TortoiseGit\\git_cached_version", (2 << 24 | 24 << 16)) >= (2 << 24 | 24 << 16)) return {}; PWSTR pszPath; diff --git a/src/TortoiseProc/Settings/SetMainPage.cpp b/src/TortoiseProc/Settings/SetMainPage.cpp index a44bf0d9a..36d373929 100644 --- a/src/TortoiseProc/Settings/SetMainPage.cpp +++ b/src/TortoiseProc/Settings/SetMainPage.cpp @@ -1,6 +1,6 @@ // TortoiseGit - a Windows shell extension for easy version control -// Copyright (C) 2008-2020 - TortoiseGit +// Copyright (C) 2008-2021 - TortoiseGit // Copyright (C) 2003-2008 - TortoiseSVN // This program is free software; you can redistribute it and/or @@ -193,7 +193,8 @@ BOOL CSetMainPage::OnApply() { if (HWND hWnd = ::FindWindow(TGIT_CACHE_WINDOW_NAME, TGIT_CACHE_WINDOW_NAME); hWnd) ::PostMessage(hWnd, WM_CLOSE, reinterpret_cast(nullptr), reinterpret_cast(nullptr)); - CMessageBox::Show(GetSafeHwnd(), IDS_GITCHANGED_NEEDRESTART, IDS_APPNAME, MB_ICONINFORMATION); + if (gitChanged || (g_Git.ms_LastMsysGitVersion != static_cast(m_dwMsysGitVersion) && g_Git.ms_LastMsysGitVersion < ConvertVersionToInt(2, 24, 0))) + CMessageBox::Show(GetSafeHwnd(), IDS_GITCHANGED_NEEDRESTART, IDS_APPNAME, MB_ICONINFORMATION); } SetModified(FALSE); diff --git a/src/TortoiseProc/TortoiseProc.cpp b/src/TortoiseProc/TortoiseProc.cpp index 9ec73135d..c346ae201 100644 --- a/src/TortoiseProc/TortoiseProc.cpp +++ b/src/TortoiseProc/TortoiseProc.cpp @@ -1,6 +1,6 @@ // TortoiseGit - a Windows shell extension for easy version control -// Copyright (C) 2008-2020 - TortoiseGit +// Copyright (C) 2008-2021 - TortoiseGit // Copyright (C) 2003-2008, 2012-2014 - TortoiseSVN // This program is free software; you can redistribute it and/or @@ -224,8 +224,8 @@ BOOL CTortoiseProcApp::InitInstance() auto oldGitVersion = static_cast(CRegDWORD(L"Software\\TortoiseGit\\git_cached_version", 0)); if (!CConfigureGitExe::CheckGitVersion(hWndExplorer)) return FALSE; - // Git >= 2.24 has new config file locations - if (CGit::ms_LastMsysGitVersion != oldGitVersion && (oldGitVersion == 0 || oldGitVersion < ConvertVersionToInt(2, 24, 0) && CGit::ms_LastMsysGitVersion >= ConvertVersionToInt(2, 24, 0))) + // Git < 2.24 also has ProgramData config file location + if (CGit::ms_LastMsysGitVersion != oldGitVersion && (oldGitVersion != 0 && oldGitVersion < ConvertVersionToInt(2, 24, 0) && CGit::ms_LastMsysGitVersion >= ConvertVersionToInt(2, 24, 0) || (oldGitVersion == 0 || oldGitVersion >= ConvertVersionToInt(2, 24, 0)) && CGit::ms_LastMsysGitVersion < ConvertVersionToInt(2, 24, 0))) { if (HWND hWnd = ::FindWindow(TGIT_CACHE_WINDOW_NAME, TGIT_CACHE_WINDOW_NAME); hWnd) ::PostMessage(hWnd, WM_CLOSE, reinterpret_cast(nullptr), reinterpret_cast(nullptr)); -- 2.11.4.GIT