OSDN Git Service

made wingit.dll delay load so that PATH can be inited with git/bin dir before dll...
[tortoisegit/TortoiseGitJp.git] / src / Git / Git.h
index b9da969..406bfa9 100644 (file)
@@ -1,17 +1,8 @@
 #pragma once\r
+#include "GitType.h"\r
 #include "GitRev.h"\r
 #include "GitStatus.h"\r
 #include "GitAdminDir.h"\r
-enum\r
-{\r
-       GIT_SUCCESS=0,\r
-       GIT_ERROR_OPEN_PIP,\r
-       GIT_ERROR_CREATE_PROCESS,\r
-       GIT_ERROR_GET_EXIT_CODE\r
-};\r
-\r
-typedef std::vector<CString> STRING_VECTOR;\r
-typedef std::map<CString, STRING_VECTOR> MAP_HASH_NAME;\r
 \r
 \r
 class CGit\r
@@ -20,11 +11,15 @@ private:
        GitAdminDir m_GitDir;\r
 public:\r
        static BOOL CheckMsysGitDir();\r
+       static CString ms_LastMsysGitDir;       // the last msysgitdir added to the path, blank if none\r
 \r
 //     static CString m_MsysGitPath;\r
        CGit(void);\r
        ~CGit(void);\r
-       int Run(CString cmd, CString* output);\r
+       \r
+       int Run(CString cmd, CString* output,int code);\r
+       int Run(CString cmd, BYTE_VECTOR *byte_array);\r
+\r
        int RunAsync(CString cmd,PROCESS_INFORMATION *pi, HANDLE* hRead, CString *StdioFile=NULL);\r
        int RunLogFile(CString cmd, CString &filename);\r
        CString GetUserName(void);\r
@@ -63,13 +58,13 @@ public:
        int GetMapHashToFriendName(MAP_HASH_NAME &map);\r
        \r
        //hash is empty means all. -1 means all\r
-       int GetLog(CString& 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(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
 \r
        git_revnum_t GetHash(CString &friendname);\r
 \r
        int BuildOutputFormat(CString &format,bool IsFull=TRUE);\r
        //int GetShortLog(CString &log,CTGitPath * path=NULL, int count =-1);\r
-       static void StringAppend(CString *str,char *p);\r
+       static void StringAppend(CString *str,BYTE *p,int code=CP_UTF8,int length=-1);\r
 \r
        BOOL IsInitRepos();\r
        \r