3 #include "GitStatus.h"
\r
6 typedef std::vector<git_revnum_t> GIT_REV_LIST;
\r
8 #define LOG_REV_AUTHOR_NAME _T('0')
\r
9 #define LOG_REV_AUTHOR_EMAIL _T('1')
\r
10 #define LOG_REV_AUTHOR_DATE _T('2')
\r
11 #define LOG_REV_COMMIT_NAME _T('3')
\r
12 #define LOG_REV_COMMIT_EMAIL _T('4')
\r
13 #define LOG_REV_COMMIT_DATE _T('5')
\r
14 #define LOG_REV_COMMIT_SUBJECT _T('6')
\r
15 #define LOG_REV_COMMIT_BODY _T('7')
\r
16 #define LOG_REV_COMMIT_HASH _T('8')
\r
17 #define LOG_REV_COMMIT_PARENT _T('9')
\r
18 #define LOG_REV_COMMIT_FILE _T('A')
\r
19 #define LOG_REV_ITEM_BEGIN _T('B')
\r
20 #define LOG_REV_ITEM_END _T('C')
\r
28 // GitRev(GitRev &rev);
\r
29 // GitRev &operator=(GitRev &rev);
\r
34 REV_HEAD = -1, ///< head revision
\r
35 REV_BASE = -2, ///< base revision
\r
36 REV_WC = -3, ///< revision of the working copy
\r
37 REV_UNSPECIFIED = -4, ///< unspecified revision
\r
40 int CopyFrom(GitRev &rev,bool OmitParentAndMark=false);
\r
42 static CString GetHead(){return CString(_T("HEAD"));};
\r
43 static CString GetWorkingCopy(){return CString(GIT_REV_ZERO);};
\r
45 CString m_AuthorName;
\r
46 CString m_AuthorEmail;
\r
48 CString m_CommitterName;
\r
49 CString m_CommitterEmail;
\r
50 CTime m_CommitterDate;
\r
53 git_revnum_t m_CommitHash;
\r
54 GIT_REV_LIST m_ParentHash;
\r
55 CTGitPathList m_Files;
\r
59 BOOL IsBoundary(){return m_Mark == _T('-');}
\r
62 int ParserFromLog(BYTE_VECTOR &log,int start=0);
\r
63 CTime ConverFromString(CString input);
\r
64 inline int ParentsCount(){return m_ParentHash.size();}
\r
66 //Show version tree Graphic
\r
67 std::vector<int> m_Lanes;
\r
69 volatile LONG m_IsFull;
\r
70 volatile LONG m_IsUpdateing;
\r
72 int SafeFetchFullInfo(CGit *git);
\r
75 TIME_ZONE_INFORMATION m_TimeZone;
\r