+/* char W_szToDir[MAX_PATH];\r
+ strncpy(W_szToDir,pszProjectPath,sizeof(W_szToDir)-1);\r
+ if(W_szToDir[strlen(W_szToDir)-1]!='\\')\r
+ strncat(W_szToDir,"\\",sizeof(W_szToDir)-1);\r
+\r
+ SetCurrentDirectoryA(W_szToDir);\r
+ GetCurrentDirectoryA(sizeof(W_szToDir)-1,W_szToDir);\r
+*/\r
+ SetCurrentDir(pszProjectPath);\r
+\r
+ CString sMode;\r
+ if (nFlags)\r
+ {\r
+ if (nFlags & WGEFF_NoRecurse) sMode += _T("r");\r
+ if (nFlags & WGEFF_FullPath) sMode += _T("f");\r
+ if (nFlags & WGEFF_DirStatusDelta) sMode += _T("d");\r
+ if (nFlags & WGEFF_DirStatusAll) sMode += _T("D");\r
+ if (nFlags & WGEFF_EmptyAsNormal) sMode += _T("e");\r
+ if (nFlags & WGEFF_SingleFile) sMode += _T("s");\r
+ }\r
+ else\r
+ {\r
+ sMode = _T("-");\r
+ }\r
+\r
+ if (pszSubPath)\r
+ cmd.Format(_T("igit.exe \"%s\" status %s \"%s\""), pszProjectPath, sMode, pszSubPath);\r
+ else\r
+ cmd.Format(_T("igit.exe \"%s\" status %s"), pszProjectPath, sMode);\r
+\r
+ W_GitCall.SetCmd(cmd);\r
+ // NOTE: should igit get added as a part of msysgit then use below line instead of the above one\r
+ //W_GitCall.SetCmd(CGit::ms_LastMsysGitDir + cmd);\r
+\r
+ if ( Run(&W_GitCall) )\r
+ return FALSE;\r
+\r
+ return TRUE;\r
+}\r
+\r
+BOOL CGit::CheckCleanWorkTree()\r
+{\r
+ CString out;\r
+ CString cmd;\r
+ cmd=_T("git.exe rev-parse --verify HEAD");\r
+\r
+ if(g_Git.Run(cmd,&out,CP_UTF8))\r
+ return FALSE;\r
+\r
+ cmd=_T("git.exe update-index --ignore-submodules --refresh");\r
+ if(g_Git.Run(cmd,&out,CP_UTF8))\r
+ return FALSE;\r
+\r
+ cmd=_T("git.exe diff-files --quiet --ignore-submodules");\r