summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0972107)
Signed-off-by: Frank Li <lznuaa@gmail.com>
BYTE_VECTOR cmdout;\r
cmdout.clear();\r
CString cmd;\r
BYTE_VECTOR cmdout;\r
cmdout.clear();\r
CString cmd;\r
- if(list == NULL)\r
- cmd=(_T("git.exe diff-index --raw HEAD --numstat -C -M -z"));\r
- else\r
- cmd.Format(_T("git.exe diff-index --raw HEAD --numstat -C -M -z -- \"%s\""),(*list)[i].GetGitPathString());\r
-\r
- if(g_Git.Run(cmd,&cmdout))\r
+ if(!g_Git.IsInitRepos())\r
- cmdout.clear();\r
- CString strout;\r
- if(g_Git.Run(_T("git.exe rev-parse --revs-only HEAD"),&strout,CP_UTF8))\r
+ if(list == NULL)\r
+ cmd=(_T("git.exe diff-index --raw HEAD --numstat -C -M -z"));\r
+ else\r
+ cmd.Format(_T("git.exe diff-index --raw HEAD --numstat -C -M -z -- \"%s\""),(*list)[i].GetGitPathString());\r
+ \r
+ if(g_Git.Run(cmd,&cmdout))\r
+ cmdout.clear();\r
+ CString strout;\r
+ if(g_Git.Run(_T("git.exe rev-parse --revs-only HEAD"),&strout,CP_UTF8))\r
+ {\r
+ CMessageBox::Show(NULL,strout,_T("TortoiseGit"),MB_OK);\r
+ return -1;\r
+ }\r
+ if(strout.IsEmpty())\r
+ break; //this is initial repositoyr, there are no any history\r
+\r
CMessageBox::Show(NULL,strout,_T("TortoiseGit"),MB_OK);\r
return -1;\r
CMessageBox::Show(NULL,strout,_T("TortoiseGit"),MB_OK);\r
return -1;\r
- }\r
- if(strout.IsEmpty())\r
- break; //this is initial repositoyr, there are no any history\r
- CMessageBox::Show(NULL,strout,_T("TortoiseGit"),MB_OK);\r
- return -1;\r
+ }\r
+ \r
+ if(list == NULL)\r
+ cmd=(_T("git.exe diff-index --cached --raw HEAD --numstat -C -M -z"));\r
+ else\r
+ cmd.Format(_T("git.exe diff-index --cached --raw HEAD --numstat -C -M -z -- \"%s\""),(*list)[i].GetGitPathString());\r
+ g_Git.Run(cmd,&cmdout);\r
+ //out+=cmdout;\r
+ out.append(cmdout,0);\r
- \r
- if(list == NULL)\r
- cmd=(_T("git.exe diff-index --cached --raw HEAD --numstat -C -M -z"));\r
- else\r
- cmd.Format(_T("git.exe diff-index --cached --raw HEAD --numstat -C -M -z -- \"%s\""),(*list)[i].GetGitPathString());\r
+ else // Init Repository\r
+ {\r
+ if(list == NULL)\r
+ cmd=_T("git.exe ls-files -s -t -z");\r
+ else\r
+ cmd.Format(_T("git.exe ls-files -s -t -z -- \"%s\""),(*list)[i].GetGitPathString());\r
- g_Git.Run(cmd,&cmdout);\r
- //out+=cmdout;\r
- out.append(cmdout,0);\r
+ g_Git.Run(cmd,&cmdout);\r
+ //out+=cmdout;\r
+ out.append(cmdout,0);\r
+ }\r
+ if(g_Git.IsInitRepos())\r
+ {\r
+ m_StatusFileList.ParserFromLsFile(out);\r
+ for(int i=0;i<m_StatusFileList.GetCount();i++)\r
+ ((CTGitPath&)(m_StatusFileList[i])).m_Action=CTGitPath::LOGACTIONS_ADDED;\r
+ }\r
+ else\r
+ this->m_StatusFileList.ParserFromLog(out);\r
- this->m_StatusFileList.ParserFromLog(out);\r
}else\r
{\r
int count = 0;\r
}else\r
{\r
int count = 0;\r