#pragma once\r
+#include "gittype.h"\r
#include "GitStatus.h"\r
#include "AtlTime.h"\r
+#include "GitHash.h"\r
+#include "GitDll.h"\r
\r
-typedef std::vector<git_revnum_t> GIT_REV_LIST;\r
+typedef std::vector<CGitHash> GIT_REV_LIST;\r
\r
#define LOG_REV_AUTHOR_NAME _T('0')\r
#define LOG_REV_AUTHOR_EMAIL _T('1')\r
REV_UNSPECIFIED = -4, ///< unspecified revision\r
};\r
\r
- int CopyFrom(GitRev &rev);\r
+ int CopyFrom(GitRev &rev,bool OmitParentAndMark=false);\r
\r
static CString GetHead(){return CString(_T("HEAD"));};\r
static CString GetWorkingCopy(){return CString(GIT_REV_ZERO);};\r
CTime m_CommitterDate;\r
CString m_Subject;\r
CString m_Body;\r
- git_revnum_t m_CommitHash;\r
+ CGitHash m_CommitHash;\r
GIT_REV_LIST m_ParentHash;\r
CTGitPathList m_Files;\r
int m_Action;\r
- \r
+ TCHAR m_Mark;\r
+ CString m_Ref;\r
+ CString m_RefAction;\r
+\r
+ BOOL IsBoundary(){return m_Mark == _T('-');}\r
+\r
void Clear();\r
- int ParserFromLog(CString &log);\r
+ int ParserFromLog(BYTE_VECTOR &log,int start=0);\r
CTime ConverFromString(CString input);\r
inline int ParentsCount(){return m_ParentHash.size();}\r
\r
volatile LONG m_IsUpdateing;\r
\r
int SafeFetchFullInfo(CGit *git);\r
+\r
+ int ParserFromCommit(GIT_COMMIT *commit);\r
+ int ParserParentFromCommit(GIT_COMMIT *commit);\r
+\r
+ int GetCommitFromHash(CGitHash &hash);\r
+ int GetCommit(CString &Rev);\r
+\r
+public:\r
+ void DbgPrint();\r
+private:\r
+ TIME_ZONE_INFORMATION m_TimeZone;\r
};\r