Signed-off-by: Frank Li <lznuaa@gmail.com>
if(mask& LOG_INFO_FULLHISTORY)\r
param += _T(" --full-history ");\r
\r
if(mask& LOG_INFO_FULLHISTORY)\r
param += _T(" --full-history ");\r
\r
- cmd.Format(_T("git.exe log %s -C --left-right --boundary --topo-order --parents %s --pretty=format:\""),\r
+ if(mask& LOG_INFO_BOUNDARY)\r
+ param += _T("--left-right --boundary ");\r
+\r
+ param+=hash;\r
+\r
+ cmd.Format(_T("git.exe log %s -C --topo-order --parents %s --pretty=format:\""),\r
num,param);\r
\r
BuildOutputFormat(log);\r
num,param);\r
\r
BuildOutputFormat(log);\r
LOG_INFO_FILESTATE=0x2,\r
LOG_INFO_PATCH=0x4,\r
LOG_INFO_FULLHISTORY=0x8,\r
LOG_INFO_FILESTATE=0x2,\r
LOG_INFO_PATCH=0x4,\r
LOG_INFO_FULLHISTORY=0x8,\r
+ LOG_INFO_BOUNDARY=0x10\r
}LOG_INFO_MASK;\r
\r
int GetRemoteList(STRING_VECTOR &list);\r
}LOG_INFO_MASK;\r
\r
int GetRemoteList(STRING_VECTOR &list);\r
int GetMapHashToFriendName(MAP_HASH_NAME &map);\r
\r
//hash is empty means all. -1 means all\r
int GetMapHashToFriendName(MAP_HASH_NAME &map);\r
\r
//hash is empty means all. -1 means all\r
- int GetLog(CString& logOut,CString &hash, CTGitPath *path = NULL,int count=-1,int InfoMask=LOG_INFO_STAT|LOG_INFO_FILESTATE);\r
+ int GetLog(CString& logOut,CString &hash, CTGitPath *path = NULL,int count=-1,int InfoMask=LOG_INFO_STAT|LOG_INFO_FILESTATE|LOG_INFO_BOUNDARY);\r
\r
git_revnum_t GetHash(CString &friendname);\r
\r
\r
git_revnum_t GetHash(CString &friendname);\r
\r
CString onelog;\r
TCHAR oldmark=this->m_Mark;\r
\r
CString onelog;\r
TCHAR oldmark=this->m_Mark;\r
\r
- git->GetLog(onelog,m_CommitHash,NULL,1);\r
+ git->GetLog(onelog,m_CommitHash,NULL,1,CGit::LOG_INFO_STAT|CGit::LOG_INFO_FILESTATE);\r
CString oldhash=m_CommitHash;\r
ParserFromLog(onelog);\r
\r
CString oldhash=m_CommitHash;\r
ParserFromLog(onelog);\r
\r
#include "HistoryDlg.h"\r
#include "Hooks.h"\r
#include "CommonResource.h"\r
#include "HistoryDlg.h"\r
#include "Hooks.h"\r
#include "CommonResource.h"\r
+#include "UnicodeUtils.h"\r
\r
#ifdef _DEBUG\r
#define new DEBUG_NEW\r
\r
#ifdef _DEBUG\r
#define new DEBUG_NEW\r
g_Git.Run(cmd,&out);\r
\r
CString tempfile=::GetTempFile();\r
g_Git.Run(cmd,&out);\r
\r
CString tempfile=::GetTempFile();\r
- CStdioFile file(tempfile,CFile::modeReadWrite|CFile::modeCreate );\r
- file.WriteString(m_sLogMessage);\r
+ CFile file(tempfile,CFile::modeReadWrite|CFile::modeCreate );\r
+ CStringA log=CUnicodeUtils::GetUTF8( m_sLogMessage);\r
+ file.Write(log,log.GetLength());\r
+ //file.WriteString(m_sLogMessage);\r
file.Close();\r
\r
out =_T("");\r
file.Close();\r
\r
out =_T("");\r