#pragma once\r
+#include "gittype.h"\r
\r
class CTGitPath\r
{\r
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
LOGACTIONS_MODIFIED = 0x00000002,\r
LOGACTIONS_REPLACED = 0x00000004,\r
LOGACTIONS_DELETED = 0x00000008,\r
+ LOGACTIONS_UNMERGED = 0x00000010,\r
+ LOGACTIONS_CACHE = 0x00000020,\r
LOGACTIONS_UNVER = 0x80000000,\r
LOGACTIONS_IGNORE = 0x40000000,\r
- LOGACTIONS_CONFLICT = 0x20000000,\r
+ //LOGACTIONS_CONFLICT = 0x20000000,\r
};\r
\r
CString m_StatAdd;\r
CString m_StatDel;\r
int m_Action;\r
bool m_Checked;\r
- int ParserAction(CString action);\r
+ int ParserAction(BYTE action);\r
CString GetActionName();\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 CString& sPath);\r
+ void SetFromGit(const CString& sPath,CString *OldPath=NULL);\r
+ \r
/**\r
* Set the path as UNICODE with backslashes\r
*/\r
* Returns the path with forward slashes.\r
*/\r
const CString& GetGitPathString() const;\r
+\r
+ const CString& GetGitOldPathString() const;\r
/**\r
* Returns the path completely prepared to be fed the the Git APIs\r
* It will be in UTF8, with URLs escaped, if necessary\r
mutable CString m_sUIPath;\r
mutable CStringA m_sUTF8FwdslashPath;\r
mutable CStringA m_sUTF8FwdslashPathEscaped;\r
+\r
+ //used for rename case\r
+ mutable CString m_sOldBackslashPath;\r
+ mutable CString m_sOldFwdslashPath;\r
+ \r
// Have we yet determined if this is a directory or not?\r
mutable bool m_bDirectoryKnown;\r
mutable bool m_bIsDirectory;\r
// 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(CString &log);\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