OSDN Git Service

Change Progress.h to SysProgress.h because there are two progress.h file.
[tortoisegit/TortoiseGitJp.git] / src / Git / TGitPath.h
index 66d55cb..22bfb09 100644 (file)
@@ -6,7 +6,8 @@ class CTGitPath
 public:\r
        CTGitPath(void);\r
        ~CTGitPath(void);\r
- CTGitPath(const CString& sUnknownPath);\r
+       CTGitPath(const CString& sUnknownPath);\r
+       int m_Stage;\r
 public:\r
        enum\r
        {       \r
@@ -15,9 +16,26 @@ public:
                LOGACTIONS_REPLACED     = 0x00000004,\r
                LOGACTIONS_DELETED      = 0x00000008,\r
                LOGACTIONS_UNMERGED = 0x00000010,\r
+               LOGACTIONS_CACHE        = 0x00000020,\r
+               LOGACTIONS_COPY         = 0x00000040,\r
                LOGACTIONS_UNVER        = 0x80000000,\r
                LOGACTIONS_IGNORE       = 0x40000000,\r
-               LOGACTIONS_CONFLICT = 0x20000000,\r
+               //LOGACTIONS_CONFLICT = 0x20000000,\r
+               \r
+               // For log filter only\r
+               LOGACTIONS_HIDE         = 0x20000000,\r
+               LOGACTIONS_GRAY         = 0x10000000,\r
+\r
+               // For Rebase only\r
+               LOGACTIONS_REBASE_CURRENT = 0x08000000,\r
+               LOGACTIONS_REBASE_PICK    = 0x04000000,\r
+               LOGACTIONS_REBASE_SQUASH  = 0x02000000,\r
+               LOGACTIONS_REBASE_EDIT    = 0x01000000,\r
+               LOGACTIONS_REBASE_DONE    = 0x00800000,\r
+               LOGACTIONS_REBASE_SKIP    = 0x00400000,\r
+               LOGACTIONS_REBASE_MASK    = 0x0FC00000,\r
+               LOGACTIONS_REBASE_MODE_MASK=0x07C00000,\r
+\r
        };\r
 \r
        CString m_StatAdd;\r
@@ -26,11 +44,13 @@ public:
        bool    m_Checked;\r
        int     ParserAction(BYTE action);\r
        CString GetActionName();\r
+       static CString GetActionName(int action);\r
        /**\r
         * Set the path as an UTF8 string with forward slashes\r
         */\r
        void SetFromGit(const char* pPath);\r
        void SetFromGit(const char* pPath, bool bIsDirectory);\r
+       void SetFromGit(const TCHAR* pPath, bool bIsDirectory);\r
        void SetFromGit(const CString& sPath,CString *OldPath=NULL);\r
        \r
        /**\r
@@ -191,6 +211,7 @@ public:
         * contains an admin directory.\r
         */\r
        bool HasAdminDir() const;\r
+       bool HasAdminDir(CString *ProjectTopDir) const;\r
        \r
        /**\r
         * Checks if the path point to or below a Subversion admin directory (.Git).\r
@@ -250,11 +271,12 @@ private:
        mutable CString m_sUIPath;\r
        mutable CStringA m_sUTF8FwdslashPath;\r
        mutable CStringA m_sUTF8FwdslashPathEscaped;\r
+       mutable CString m_sProjectRoot;\r
 \r
        //used for rename case\r
        mutable CString m_sOldBackslashPath;\r
        mutable CString m_sOldFwdslashPath;\r
-       \r
+\r
        // Have we yet determined if this is a directory or not?\r
        mutable bool m_bDirectoryKnown;\r
        mutable bool m_bIsDirectory;\r
@@ -297,12 +319,14 @@ public:
        // A constructor which allows a path list to be easily built with one initial entry in\r
        explicit CTGitPathList(const CTGitPath& firstEntry);\r
        int m_Action;\r
+\r
 public:\r
        void AddPath(const CTGitPath& newPath);\r
        bool LoadFromFile(const CTGitPath& filename);\r
        bool WriteToFile(const CString& sFilename, bool bANSI = false) const;\r
        CTGitPath * LookForGitPath(CString path);\r
        int     ParserFromLog(BYTE_VECTOR &log);\r
+       int ParserFromLsFile(BYTE_VECTOR &out,bool staged=true);\r
        int FillUnRev(int Action,CTGitPathList *list=NULL);\r
        int GetAction();\r
        /**\r