format += log;\r
log.Format(_T("#<%c>%%ci%%x00"),LOG_REV_COMMIT_DATE);\r
format += log;\r
- log.Format(_T("#<%c>%%s%%x00"),LOG_REV_COMMIT_SUBJECT);\r
- format += log;\r
log.Format(_T("#<%c>%%b%%x00"),LOG_REV_COMMIT_BODY);\r
format += log;\r
}\r
+ \r
log.Format(_T("#<%c>%%m%%H%%x00"),LOG_REV_COMMIT_HASH);\r
format += log;\r
log.Format(_T("#<%c>%%P%%x00"),LOG_REV_COMMIT_PARENT);\r
format += log;\r
+ log.Format(_T("#<%c>%%s%%x00"),LOG_REV_COMMIT_SUBJECT);\r
+ format += log;\r
\r
if(IsFull)\r
{\r
\r
\r
//FetchFullLogInfo();\r
- FetchFullLogInfoOrig();\r
+ //FetchFullLogInfoOrig();\r
//RefreshCursor();\r
// make sure the filter is applied (if any) now, after we refreshed/fetched\r
// the log messages\r
void CGitLogListBase::Clear()\r
{\r
m_arShownList.RemoveAll();\r
- m_logEntries.clear();\r
- m_logEntries.m_HashMap.clear();\r
DeleteAllItems();\r
- m_logEntries.m_Lns.clear();\r
\r
- m_logEntries.m_FirstFreeLane=0;\r
- m_logEntries.m_Lns.clear();\r
+ m_logEntries.ClearAll();\r
\r
}\r
\r
//#include "EditPropertiesDlg.h"
#include "FileDiffDlg.h"
+void CLogDataVector::ClearAll()\r
+{\r
+\r
+ clear();\r
+ m_HashMap.clear();\r
+ m_Lns.clear();\r
+\r
+ m_FirstFreeLane=0;\r
+ m_Lns.clear();\r
+\r
+ m_RawlogData.clear();\r
+ m_RawLogStart.clear();\r
+}
int CLogDataVector::ParserShortLog(CTGitPath *path ,CString &hash,int count ,int mask )
{
- BYTE_VECTOR log;
- GitRev rev;
+ //BYTE_VECTOR log;
+ m_RawlogData.clear();\r
+ m_RawLogStart.clear();
+ GitRev rev;
+
if(g_Git.IsInitRepos())
return 0;
begin.Format(_T("#<%c>"),LOG_REV_ITEM_BEGIN);
//g_Git.GetShortLog(log,path,count);
+ ULONGLONG t1,t2;
+ t1=GetTickCount();
+ g_Git.GetLog(m_RawlogData, hash,path,count,mask);
+ t2=GetTickCount();
- g_Git.GetLog(log,hash,path,count,mask);
+ TRACE(_T("GetLog Time %ld\r\n"),t2-t1);
- if(log.size()==0)
+ if(m_RawlogData.size()==0)
return 0;
int start=4;
int length;
int next =0;
- while( next>=0 && next<log.size())
- {
- next=rev.ParserFromLog(log,next);
-
- rev.m_Subject=_T("Load .................................");
- this->push_back(rev);
- m_HashMap[rev.m_CommitHash]=size()-1;
+ t1=GetTickCount();
+ int a1=0,b1=0;
+ while( next>=0 && next<m_RawlogData.size())
+ {
+ static const BYTE dataToFind[]={0,0};
+ m_RawLogStart.push_back(next);
+ //this->at(i).m_Subject=_T("parser...");
+ next=m_RawlogData.findData(dataToFind,2,next+1);
//next=log.find(0,next);
+
}
+ t2=GetTickCount();
+
+ TRACE(_T("Parser Log Time %ld\r\n"),t2-t1);
return 0;
MAP_HASH_REV m_HashMap;\r
void updateLanes(GitRev& c, Lanes& lns, CString &sha) ;\r
void setLane(CString& sha) ;\r
- \r
- \r
\r
+ BYTE_VECTOR m_RawlogData;\r
+ std::vector<int> m_RawLogStart;\r
\r
#if 0\r
/// Ascending date sorting.\r