OSDN Git Service

Add support i18n.logOutputEncoding at log list
[tortoisegit/TortoiseGitJp.git] / src / Git / Git.h
index 5e81ff9..e0dde8d 100644 (file)
@@ -33,7 +33,7 @@ private:
 public:\r
        static BOOL CheckMsysGitDir();\r
        static CString ms_LastMsysGitDir;       // the last msysgitdir added to the path, blank if none\r
-\r
+       static int m_LogEncode;\r
 //     static CString m_MsysGitPath;\r
        CGit(void);\r
        ~CGit(void);\r
@@ -47,6 +47,11 @@ public:
        CString GetUserName(void);\r
        CString GetUserEmail(void);\r
        CString GetCurrentBranch(void);\r
+       // read current branch name from HEAD file, returns 0 on success, -1 on failure, 1 detached (branch name "HEAD" returned)\r
+       int GetCurrentBranchFromFile(const CString &sProjectRoot, CString &sBranchOut);\r
+       BOOL CheckCleanWorkTree();\r
+       int Revert(CTGitPath &path,bool keep=true);\r
+       int Revert(CTGitPathList &list,bool keep=true);\r
 \r
        bool SetCurrentDir(CString path)\r
        {\r
@@ -74,7 +79,8 @@ public:
                LOG_INFO_DETECT_COPYRENAME=0x100,\r
                LOG_INFO_FIRST_PARENT = 0x200,\r
                LOG_INFO_NO_MERGE = 0x400,\r
-               LOG_INFO_FOLLOW = 0x800\r
+               LOG_INFO_FOLLOW = 0x800,\r
+               LOG_INFO_SHOW_MERGEDFILE=0x1000\r
        }LOG_INFO_MASK;\r
 \r
        int GetRemoteList(STRING_VECTOR &list);\r
@@ -84,10 +90,12 @@ public:
        \r
        //hash is empty means all. -1 means all\r
 \r
-       int GetLog(CGitCall* pgitCall, CString &hash, CTGitPath *path = NULL,int count=-1,int InfoMask=LOG_INFO_STAT|LOG_INFO_FILESTATE|LOG_INFO_BOUNDARY|LOG_INFO_DETECT_COPYRENAME);\r
-       int GetLog(BYTE_VECTOR& logOut,CString &hash, CTGitPath *path = NULL,int count=-1,int InfoMask=LOG_INFO_STAT|LOG_INFO_FILESTATE|LOG_INFO_BOUNDARY|LOG_INFO_DETECT_COPYRENAME);\r
+       int GetLog(CGitCall* pgitCall, CString &hash, CTGitPath *path = NULL,int count=-1,int InfoMask=LOG_INFO_STAT|LOG_INFO_FILESTATE|LOG_INFO_BOUNDARY|LOG_INFO_DETECT_COPYRENAME|LOG_INFO_SHOW_MERGEDFILE,\r
+                                                               CString *from=NULL,CString *to=NULL);\r
+       int GetLog(BYTE_VECTOR& logOut,CString &hash, CTGitPath *path = NULL,int count=-1,int InfoMask=LOG_INFO_STAT|LOG_INFO_FILESTATE|LOG_INFO_BOUNDARY|LOG_INFO_DETECT_COPYRENAME|LOG_INFO_SHOW_MERGEDFILE,\r
+                                                               CString *from=NULL,CString *to=NULL);\r
 \r
-       BOOL EnumFiles(const char *pszProjectPath, const char *pszSubPath, unsigned int nFlags, WGENUMFILECB *pEnumCb, void *pUserData);\r
+       BOOL EnumFiles(const TCHAR *pszProjectPath, const TCHAR *pszSubPath, unsigned int nFlags, WGENUMFILECB *pEnumCb, void *pUserData);\r
 \r
        git_revnum_t GetHash(CString &friendname);\r
 \r
@@ -96,7 +104,8 @@ public:
        static void StringAppend(CString *str,BYTE *p,int code=CP_UTF8,int length=-1);\r
 \r
        BOOL IsInitRepos();\r
-       static BOOL IsVista();\r
+       int ListConflictFile(CTGitPathList &list,CTGitPath *path=NULL);\r
+       int GetRefList(STRING_VECTOR &list);\r
        \r
 };\r
 extern void GetTempPath(CString &path);\r
@@ -105,4 +114,4 @@ extern CString GetTempFile();
 \r
 extern CGit g_Git;\r
 \r
-inline static BOOL wgEnumFiles(const char *pszProjectPath, const char *pszSubPath, unsigned int nFlags, WGENUMFILECB *pEnumCb, void *pUserData) { return g_Git.EnumFiles(pszProjectPath, pszSubPath, nFlags, pEnumCb, pUserData); }\r
+inline static BOOL wgEnumFiles(const TCHAR *pszProjectPath, const TCHAR *pszSubPath, unsigned int nFlags, WGENUMFILECB *pEnumCb, void *pUserData) { return g_Git.EnumFiles(pszProjectPath, pszSubPath, nFlags, pEnumCb, pUserData); }\r