m_Action|= LOGACTIONS_DELETED;\r
if(action == 'H')\r
m_Action|= LOGACTIONS_CACHE;\r
+ if(action == 'C' )\r
+ m_Action|= LOGACTIONS_COPY;\r
+\r
return m_Action;\r
}\r
void CTGitPath::SetFromGit(const char* pPath)\r
return m_bHasAdminDir;\r
\r
EnsureBackslashPathSet();\r
- m_bHasAdminDir = g_GitAdminDir.HasAdminDir(m_sBackslashPath, IsDirectory());\r
+ m_bHasAdminDir = g_GitAdminDir.HasAdminDir(m_sBackslashPath, IsDirectory(), &m_sProjectRoot);\r
m_bHasAdminDirKnown = true;\r
return m_bHasAdminDir;\r
}\r
\r
+bool CTGitPath::HasAdminDir(CString *ProjectTopDir) const\r
+{\r
+ if (m_bHasAdminDirKnown)\r
+ {\r
+ if (ProjectTopDir)\r
+ *ProjectTopDir = m_sProjectRoot;\r
+ return m_bHasAdminDir;\r
+ }\r
+\r
+ EnsureBackslashPathSet();\r
+ m_bHasAdminDir = g_GitAdminDir.HasAdminDir(m_sBackslashPath, IsDirectory(), &m_sProjectRoot);\r
+ m_bHasAdminDirKnown = true;\r
+ if (ProjectTopDir)\r
+ *ProjectTopDir = m_sProjectRoot;\r
+ return m_bHasAdminDir;\r
+}\r
+\r
bool CTGitPath::IsAdminDir() const\r
{\r
if (m_bIsAdminDirKnown)\r
CString one;\r
while( pos>=0 && pos<out.size())\r
{\r
+ one.Empty();\r
g_Git.StringAppend(&one,&out[pos],CP_OEMCP);\r
if(!one.IsEmpty())\r
{\r
sec++;\r
g_Git.StringAppend(&file1,&log[sec],CP_OEMCP);\r
}\r
+ pos=sec;\r
\r
}else\r
{\r
return _T("Modified");\r
if(m_Action & CTGitPath::LOGACTIONS_REPLACED)\r
return _T("Rename");\r
+ if(m_Action & CTGitPath::LOGACTIONS_COPY)\r
+ return _T("Copy");\r
+\r
return _T("Unknown");\r
}\r
\r