+\r
+ // Handle Git SVN-clone\r
+ if(dlg.m_bSVN)\r
+ {\r
+ WIN32_FILE_ATTRIBUTE_DATA attribs;\r
+ if(GetFileAttributesEx(dlg.m_Directory, GetFileExInfoStandard, &attribs))\r
+ {\r
+ if(!(attribs.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))\r
+ {\r
+ CString errstr;\r
+ errstr.Format(_T("%s is not valid direcotry"),dlg.m_Directory);\r
+ CMessageBox::Show(NULL,errstr,_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+ return FALSE;\r
+ }\r
+ } \r
+ else\r
+ {\r
+ DWORD err = GetLastError();\r
+ if(err == ERROR_PATH_NOT_FOUND)\r
+ {\r
+ if(!CAppUtils::CreateMultipleDirectory(dlg.m_Directory))\r
+ {\r
+ CString errstr;\r
+ errstr.Format(_T("Fail create dir: %s"),dlg.m_Directory);\r
+ CMessageBox::Show(NULL,errstr,_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+ return FALSE;\r
+ }\r
+\r
+ }\r
+ else\r
+ {\r
+ CMessageBox::Show(NULL,_T("Unknow ERROR"),_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+ return FALSE;\r
+ }\r
+ }\r
+\r
+ g_Git.m_CurrentDir=dlg.m_Directory;\r
+ cmd.Format(_T("git.exe svn clone \"%s\" "),\r
+ url);\r
+\r
+ if(dlg.m_bSVNTrunk)\r
+ cmd+=_T(" -T ")+dlg.m_strSVNTrunk;\r
+\r
+ if(dlg.m_bSVNBranch)\r
+ cmd+=_T(" -b ")+dlg.m_strSVNBranchs;\r
+\r
+ if(dlg.m_bSVNTags)\r
+ cmd+=_T(" -t ")+dlg.m_strSVNTags;\r
+\r
+ }\r