#include "gittype.h"\r
#include "resource.h"\r
#include "MessageBox.h"\r
+#include "FileDiffDlg.h"\r
\r
CGitDiff::CGitDiff(void)\r
{\r
return 0;\r
}\r
\r
+int CGitDiff::DiffCommit(CTGitPath &path, GitRev *r1, GitRev *r2)\r
+{\r
+ if( path.GetWinPathString().IsEmpty() || path.IsDirectory() )\r
+ {\r
+ CFileDiffDlg dlg;\r
+ dlg.SetDiff(NULL,*r1,*r2);\r
+ dlg.DoModal();\r
+ }else\r
+ {\r
+ Diff(&path,&path,r1->m_CommitHash.ToString(),r2->m_CommitHash.ToString());\r
+ }\r
+ return 0;\r
+}\r
+\r
+int CGitDiff::DiffCommit(CTGitPath &path, CString &r1, CString &r2)\r
+{\r
+ if( path.GetWinPathString().IsEmpty() || path.IsDirectory() )\r
+ {\r
+ CFileDiffDlg dlg;\r
+ dlg.SetDiff(NULL,r1,r2);\r
+ dlg.DoModal();\r
+ }else\r
+ {\r
+ Diff(&path,&path,r1,r2);\r
+ }\r
+ return 0;\r
+}
\ No newline at end of file
static int Diff(CTGitPath * pPath1, CTGitPath *pPath2 ,git_revnum_t & rev1, git_revnum_t & rev2, bool blame=false, bool unified=false);\r
static int SubmoduleDiff(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,bool bIsAdd=true);\r
+ static int DiffCommit(CTGitPath &path, GitRev *r1, GitRev *r2);\r
+ static int DiffCommit(CTGitPath &path, CString &r1, CString &r2);\r
};\r
#include "FileDiffDlg.h"\r
#include "CommitDlg.h"\r
#include "RebaseDlg.h"\r
+#include "GitDiff.h"\r
\r
IMPLEMENT_DYNAMIC(CGitLogList, CHintListCtrl)\r
\r
{\r
GitRev * r1 = reinterpret_cast<GitRev*>(m_arShownList.GetAt(FirstSelect));\r
GitRev * r2 = reinterpret_cast<GitRev*>(m_arShownList.GetAt(LastSelect));\r
- CFileDiffDlg dlg;\r
- dlg.SetDiff(NULL,*r1,*r2);\r
- dlg.DoModal();\r
+ CGitDiff::DiffCommit(this->m_Path, r1,r2);\r
\r
}\r
break;\r
{\r
GitRev * r1 = &m_wcRev;\r
GitRev * r2 = pSelLogEntry;\r
- CFileDiffDlg dlg;\r
- dlg.SetDiff(NULL,*r1,*r2);\r
- dlg.DoModal();\r
+\r
+ CGitDiff::DiffCommit(this->m_Path, r1,r2);\r
\r
//user clicked on the menu item "compare with working copy"\r
//if (PromptShown())\r
if(pSelLogEntry->m_ParentHash.size()>0)\r
//if(m_logEntries.m_HashMap[pSelLogEntry->m_ParentHash[0]]>=0)\r
{\r
- dlg.SetDiff(NULL,pSelLogEntry->m_CommitHash.ToString(),pSelLogEntry->m_ParentHash[0].ToString());\r
- dlg.DoModal();\r
+ CGitDiff::DiffCommit(this->m_Path, pSelLogEntry->m_CommitHash.ToString(),pSelLogEntry->m_ParentHash[0].ToString());\r
+\r
}else\r
{\r
CMessageBox::Show(NULL,_T("No previous version"),_T("TortoiseGit"),MB_OK); \r