\r
if(this->m_CurrentVersion.IsEmpty() || m_CurrentVersion== GIT_REV_ZERO)\r
{\r
- if(!g_Git.IsInitRepos())\r
+ if( g_Git.IsInitRepos())\r
+ CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
+ CString(GIT_REV_ZERO)); \r
+ else if( file1.m_Action&CTGitPath::LOGACTIONS_DELETED )\r
+ CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
+ GitRev::GetHead(),false); \r
+ else\r
CGitDiff::Diff(&file1,&file2,\r
CString(GIT_REV_ZERO),\r
GitRev::GetHead());\r
- else\r
- CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
- CString(GIT_REV_ZERO));\r
}else\r
{\r
CGitDiff::Diff(&file1,&file2,\r
}\r
return 0;\r
}\r
-int CGitDiff::DiffNull(CTGitPath *pPath, git_revnum_t &rev1)\r
+int CGitDiff::DiffNull(CTGitPath *pPath, git_revnum_t &rev1,bool bIsAdd)\r
{\r
CString temppath;\r
GetTempPath(temppath);\r
file.Close();\r
\r
CAppUtils::DiffFlags flags;\r
- CAppUtils::StartExtDiff(tempfile,file1,\r
+\r
+ if(bIsAdd)\r
+ CAppUtils::StartExtDiff(tempfile,file1,\r
_T("NULL"),\r
pPath->GetGitPathString()+_T(":")+rev1.Left(6)\r
,flags);\r
+ else\r
+ CAppUtils::StartExtDiff(file1,tempfile,\r
+ pPath->GetGitPathString()+_T(":")+rev1.Left(6)\r
+ ,_T("NULL"),flags);\r
+\r
return 0;\r
}\r
\r
\r
// Use two path to handle rename cases\r
static int Diff(CTGitPath * pPath1, CTGitPath *pPath2 ,git_revnum_t & rev1, git_revnum_t & rev2, bool blame=false, bool unified=false);\r
- static int DiffNull(CTGitPath *pPath, git_revnum_t &rev1);\r
+ static int DiffNull(CTGitPath *pPath, git_revnum_t &rev1,bool bIsAdd=true);\r
};\r