#include "PathUtils.h"\r
#include <regex>\r
#include "git.h"\r
+#include "Globals.h"\r
+\r
#if defined(_MFC_VER)\r
//#include "MessageBox.h"\r
//#include "AppUtils.h"\r
\r
CString CTGitPath::GetFilename() const\r
{\r
- ATLASSERT(!IsDirectory());\r
+ //ATLASSERT(!IsDirectory());\r
return GetFileOrDirectoryName();\r
}\r
\r
return !g_GitAdminDir.GetSuperProjectRoot(GetWinPathString()).IsEmpty();\r
}\r
\r
+int CTGitPath::GetAdminDirMask() const\r
+{\r
+ int status = 0;\r
+ CString topdir,path;\r
+ if(!g_GitAdminDir.HasAdminDir(GetWinPathString(),&topdir))\r
+ {\r
+ return status;\r
+ }\r
+\r
+ status |= ITEMIS_INSVN|ITEMIS_FOLDERINSVN;\r
+\r
+ path=topdir;\r
+ path+=_T("\\");\r
+ path+=g_GitAdminDir.GetAdminDirName();\r
+ path+=_T("\\refs\\stash");\r
+ if( PathFileExists(path) )\r
+ status |= ITEMIS_STASH;\r
+ \r
+ path=topdir;\r
+ path+=_T("\\");\r
+ path+=g_GitAdminDir.GetAdminDirName();\r
+ path+=_T("\\svn");\r
+ if( PathFileExists(path) )\r
+ status |= ITEMIS_GITSVN;\r
+\r
+ path=topdir;\r
+ path+=_T("\\.gitmodules");\r
+ if( PathFileExists(path) )\r
+ status |= ITEMIS_SUBMODULE;\r
+\r
+ return status;\r
+}\r
+\r
+bool CTGitPath::HasStashDir() const\r
+{\r
+ CString topdir;\r
+ if(!g_GitAdminDir.HasAdminDir(GetWinPathString(),&topdir))\r
+ {\r
+ return false;\r
+ }\r
+ topdir+=_T("\\");\r
+ topdir+=g_GitAdminDir.GetAdminDirName();\r
+ topdir+=_T("\\refs\stash");\r
+ return PathFileExists(topdir);\r
+}\r
bool CTGitPath::HasGitSVNDir() const\r
{\r
CString topdir;\r
CString one;\r
CTGitPath path;\r
CString part;\r
+ this->Clear();\r
+\r
while(pos>=0 && pos<out.size())\r
{\r
one.Empty();\r
int searchStartPos = 0;\r
while (bEqual)\r
{\r
+ if(m_paths.empty())\r
+ break;\r
+\r
for (it = m_paths.begin(); it != m_paths.end(); ++it)\r
{\r
if (backSlashPos == 0)\r