X-Git-Url: http://git.sourceforge.jp/view?p=tortoisegit%2FTortoiseGitJp.git;a=blobdiff_plain;f=src%2FGit%2FGitRev.h;h=78bc0161869f5ed0c6eb9b2ff0746708f7b22090;hp=718e584bddf93dcd6de036afe7f211b884d5163d;hb=cd4ba8d7c61fc50368083505acdc9b2cd9f8ebe1;hpb=103b96ec7f3fc1627384365c22fb7c98ebf31013;ds=inline diff --git a/src/Git/GitRev.h b/src/Git/GitRev.h index 718e584..78bc016 100644 --- a/src/Git/GitRev.h +++ b/src/Git/GitRev.h @@ -1,4 +1,5 @@ #pragma once +#include "gittype.h" #include "GitStatus.h" #include "AtlTime.h" @@ -18,7 +19,7 @@ typedef std::vector GIT_REV_LIST; #define LOG_REV_ITEM_BEGIN _T('B') #define LOG_REV_ITEM_END _T('C') - +class CGit; class GitRev { @@ -27,6 +28,7 @@ public: // GitRev(GitRev &rev); // GitRev &operator=(GitRev &rev); ~GitRev(void); + enum { REV_HEAD = -1, ///< head revision @@ -34,8 +36,12 @@ public: REV_WC = -3, ///< revision of the working copy REV_UNSPECIFIED = -4, ///< unspecified revision }; + + int CopyFrom(GitRev &rev,bool OmitParentAndMark=false); + static CString GetHead(){return CString(_T("HEAD"));}; static CString GetWorkingCopy(){return CString(GIT_REV_ZERO);}; + CString m_AuthorName; CString m_AuthorEmail; CTime m_AuthorDate; @@ -48,6 +54,23 @@ public: GIT_REV_LIST m_ParentHash; CTGitPathList m_Files; int m_Action; - int ParserFromLog(CString &log); + TCHAR m_Mark; + + BOOL IsBoundary(){return m_Mark == _T('-');} + + void Clear(); + int ParserFromLog(BYTE_VECTOR &log,int start=0); CTime ConverFromString(CString input); + inline int ParentsCount(){return m_ParentHash.size();} + + //Show version tree Graphic + std::vector m_Lanes; + + volatile LONG m_IsFull; + volatile LONG m_IsUpdateing; + + int SafeFetchFullInfo(CGit *git); + +private: + TIME_ZONE_INFORMATION m_TimeZone; };