Log cache can be disabled
authorSup Yut Sum <ch3cooli@gmail.com>
Thu, 31 Jan 2013 14:58:24 +0000 (31 22:58 +0800)
committerSup Yut Sum <ch3cooli@gmail.com>
Thu, 31 Jan 2013 15:42:24 +0000 (31 23:42 +0800)
Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
src/TortoiseProc/GitLogCache.cpp
src/TortoiseProc/gitlogcache.h

index 8c5744e..3658028 100644 (file)
@@ -18,6 +18,7 @@
 //\r
 #include "stdafx.h"\r
 #include "GitLogCache.h"\r
+#include "registry.h"\r
 \r
 int static Compare(const void *p1, const void*p2)\r
 {\r
@@ -34,6 +35,7 @@ CLogCache::CLogCache()
        m_DataFileMap = INVALID_HANDLE_VALUE;\r
        m_pCacheData = NULL;\r
        m_DataFileLength = 0;\r
+       m_bEnabled = CRegDWORD(_T("Software\\TortoiseGit\\EnableLogCache"), TRUE);\r
 }\r
 \r
 void CLogCache::CloseDataHandles()\r
@@ -118,6 +120,9 @@ ULONGLONG CLogCache::GetOffset(CGitHash &hash,SLogCacheIndexFile *pData)
 \r
 int CLogCache::FetchCacheIndex(CString GitDir)\r
 {\r
+       if (!m_bEnabled)\r
+               return 0;\r
+\r
        int ret=0;\r
        if (!g_GitAdminDir.GetAdminDirPath(GitDir, m_GitDir))\r
                return -1;\r
@@ -368,6 +373,9 @@ int CLogCache::RebuildCacheFile()
 }\r
 int CLogCache::SaveCache()\r
 {\r
+       if (!m_bEnabled)\r
+               return 0;\r
+\r
        int ret =0;\r
        BOOL bIsRebuild=false;\r
 \r
index 6ac969f..61f0e5e 100644 (file)
@@ -1,6 +1,6 @@
 // TortoiseGit - a Windows shell extension for easy version control\r
 \r
-// Copyright (C) 2008-2012 - TortoiseGit\r
+// Copyright (C) 2008-2013 - TortoiseGit\r
 \r
 // This program is free software; you can redistribute it and/or\r
 // modify it under the terms of the GNU General Public License\r
@@ -96,6 +96,8 @@ class CLogCache
 public:\r
 \r
 protected:\r
+       BOOL m_bEnabled;\r
+\r
        HANDLE m_IndexFile;\r
        HANDLE m_IndexFileMap;\r
        SLogCacheIndexFile *m_pCacheIndex;\r