4 #include "GitStatus.h"
\r
5 #include "GitAdminDir.h"
\r
11 GitAdminDir m_GitDir;
\r
13 static BOOL CheckMsysGitDir();
\r
14 static CString ms_LastMsysGitDir; // the last msysgitdir added to the path, blank if none
\r
16 // static CString m_MsysGitPath;
\r
20 int Run(CString cmd, CString* output,int code);
\r
21 int Run(CString cmd, BYTE_VECTOR *byte_array);
\r
23 int RunAsync(CString cmd,PROCESS_INFORMATION *pi, HANDLE* hRead, CString *StdioFile=NULL);
\r
24 int RunLogFile(CString cmd, CString &filename);
\r
25 CString GetUserName(void);
\r
26 CString GetUserEmail(void);
\r
27 CString GetCurrentBranch(void);
\r
29 bool SetCurrentDir(CString path)
\r
31 return m_GitDir.HasAdminDir(path,&m_CurrentDir);
\r
33 CString m_CurrentDir;
\r
39 BRANCH_ALL=BRANCH_LOCAL|BRANCH_REMOTE,
\r
45 LOG_INFO_FILESTATE=0x2,
\r
47 LOG_INFO_FULLHISTORY=0x8,
\r
48 LOG_INFO_BOUNDARY=0x10,
\r
49 LOG_INFO_ALL_BRANCH=0x20,
\r
50 LOG_INFO_ONLY_HASH=0x40,
\r
51 LOG_INFO_DETECT_RENAME=0x80,
\r
52 LOG_INFO_DETECT_COPYRENAME=0x100,
\r
53 LOG_INFO_FIRST_PARENT = 0x200,
\r
54 LOG_INFO_NO_MERGE = 0x400,
\r
55 LOG_INFO_FOLLOW = 0x800
\r
58 int GetRemoteList(STRING_VECTOR &list);
\r
59 int GetBranchList(STRING_VECTOR &list, int *Current,BRANCH_TYPE type=BRANCH_LOCAL);
\r
60 int GetTagList(STRING_VECTOR &list);
\r
61 int GetMapHashToFriendName(MAP_HASH_NAME &map);
\r
63 //hash is empty means all. -1 means all
\r
64 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
66 git_revnum_t GetHash(CString &friendname);
\r
68 int BuildOutputFormat(CString &format,bool IsFull=TRUE);
\r
69 //int GetShortLog(CString &log,CTGitPath * path=NULL, int count =-1);
\r
70 static void StringAppend(CString *str,BYTE *p,int code=CP_UTF8,int length=-1);
\r
75 extern void GetTempPath(CString &path);
\r
76 extern CString GetTempFile();
\r