3 #include "GitStatus.h"
\r
4 #include "GitAdminDir.h"
\r
9 GIT_ERROR_CREATE_PROCESS,
\r
10 GIT_ERROR_GET_EXIT_CODE
\r
13 typedef std::vector<CString> STRING_VECTOR;
\r
14 typedef std::map<CString, STRING_VECTOR> MAP_HASH_NAME;
\r
20 GitAdminDir m_GitDir;
\r
22 static BOOL CheckMsysGitDir();
\r
24 // static CString m_MsysGitPath;
\r
27 int Run(CString cmd, CString* output);
\r
28 int RunAsync(CString cmd,PROCESS_INFORMATION *pi, HANDLE* hRead, CString *StdioFile=NULL);
\r
29 int RunLogFile(CString cmd, CString &filename);
\r
30 CString GetUserName(void);
\r
31 CString GetUserEmail(void);
\r
32 CString GetCurrentBranch(void);
\r
34 bool SetCurrentDir(CString path)
\r
36 return m_GitDir.HasAdminDir(path,&m_CurrentDir);
\r
38 CString m_CurrentDir;
\r
44 BRANCH_ALL=BRANCH_LOCAL|BRANCH_REMOTE,
\r
50 LOG_INFO_FILESTATE=0x2,
\r
54 int GetRemoteList(STRING_VECTOR &list);
\r
55 int GetBranchList(STRING_VECTOR &list, int *Current,BRANCH_TYPE type=BRANCH_LOCAL);
\r
56 int GetTagList(STRING_VECTOR &list);
\r
57 int GetMapHashToFriendName(MAP_HASH_NAME &map);
\r
59 //hash is empty means all. -1 means all
\r
60 int GetLog(CString& logOut,CString &hash, CTGitPath *path = NULL,int count=-1,int InfoMask=LOG_INFO_STAT|LOG_INFO_FILESTATE);
\r
62 git_revnum_t GetHash(CString &friendname);
\r
64 int BuildOutputFormat(CString &format,bool IsFull=TRUE);
\r
65 int GetShortLog(CString &log,CTGitPath * path=NULL, int count =-1);
\r
66 static void StringAppend(CString *str,char *p);
\r
71 extern void GetTempPath(CString &path);
\r
72 extern CString GetTempFile();
\r