}\r
\r
char buffer[4096];\r
-\r
-int CGit::Run(CString cmd, CString* output)\r
+int CGit::RunAsync(CString cmd,PROCESS_INFORMATION *piOut,HANDLE *hReadOut)\r
{\r
SECURITY_ATTRIBUTES sa;\r
HANDLE hRead, hWrite;\r
}\r
\r
CloseHandle(hWrite);\r
+ if(piOut)\r
+ *piOut=pi;\r
+ if(hReadOut)\r
+ *hReadOut=hRead;\r
+ \r
+ return 0;\r
+\r
+}\r
+int CGit::Run(CString cmd, CString* output)\r
+{\r
+ PROCESS_INFORMATION pi;\r
+ HANDLE hRead;\r
+ if(RunAsync(cmd,&pi,&hRead))\r
+ return GIT_ERROR_CREATE_PROCESS;\r
\r
DWORD readnumber;\r
while(ReadFile(hRead,buffer,4090,&readnumber,NULL))\r
CGit(void);\r
~CGit(void);\r
int Run(CString cmd, CString* output);\r
+ int RunAsync(CString cmd,PROCESS_INFORMATION *pi, HANDLE* hRead);\r
int RunLogFile(CString cmd, CString &filename);\r
CString GetUserName(void);\r
CString GetUserEmail(void);\r
#include "MessageBox.h"\r
\r
#include "CloneDlg.h"\r
+#include "ProgressDlg.h"\r
\r
bool CloneCommand::Execute()\r
{\r
CString dir=dlg.m_Directory;\r
CString url=dlg.m_URL;\r
CString cmd;\r
-\r
+ cmd.Format(_T("git.exe clone %s %s"),\r
+ url,\r
+ dir);\r
+ CProgressDlg progress;\r
+ progress.m_GitCmd=cmd;\r
+ if(progress.DoModal()==IDOK)\r
+ return TRUE;\r
+ \r
}\r
return FALSE;\r
}\r
</File>\r
</Filter>\r
<File\r
- RelativePath=".\ClassDiagram1.cd"\r
- >\r
- </File>\r
- <File\r
RelativePath="..\..\..\..\tortoisegit\src\TortoiseProc\CloneDlg.htm"\r
DeploymentContent="true"\r
>\r