OSDN Git Service

merge original branch.
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Commands / PrevDiffCommand.cpp
index 4a35ea4..87972e2 100644 (file)
 #include "ChangedDlg.h"\r
 #include "LogDlgHelper.h"\r
 #include "CommonResource.h"\r
+#include "FileDiffDlg.h"\r
 \r
 bool PrevDiffCommand::Execute()\r
 {\r
        bool bRet = false;\r
        bool bAlternativeTool = !!parser.HasKey(_T("alternative"));\r
-       if (cmdLinePath.IsDirectory())\r
+       if (this->orgCmdLinePath.IsDirectory())\r
        {\r
-               CChangedDlg dlg;\r
-               dlg.m_pathList = CTGitPathList(cmdLinePath);\r
+               CFileDiffDlg dlg;\r
+               \r
+               dlg.m_strRev1 = _T("HEAD") ;\r
+               dlg.m_strRev2 = _T("HEAD~1");\r
+\r
+               //dlg.m_pathList = CTGitPathList(cmdLinePath);\r
                dlg.DoModal();\r
                bRet = true;\r
        }\r
@@ -49,7 +54,9 @@ bool PrevDiffCommand::Execute()
                        CString logout;\r
                \r
                        CLogDataVector revs;\r
-       \r
+                       CLogCache cache;\r
+                       revs.m_pLogCache=&cache;\r
+                       \r
                        revs.ParserShortLog(&cmdLinePath,hash,2);\r
                        if( revs.size() == 0)\r
                        {\r
@@ -60,13 +67,13 @@ bool PrevDiffCommand::Execute()
                        if( revs.size() == 1 )\r
                        {\r
                                CGitDiff diff;\r
-                               bRet = (diff.DiffNull(&cmdLinePath,revs[0].m_CommitHash) != 0);\r
+                               bRet = (diff.DiffNull(&cmdLinePath,revs.GetGitRevAt(0).m_CommitHash.ToString()) != 0);\r
                        }\r
 \r
                        if( revs.size() == 2 )\r
                        {\r
                                CGitDiff diff;\r
-                               bRet = diff.Diff(&cmdLinePath,&cmdLinePath, revs[0].m_CommitHash, revs[1].m_CommitHash, false);\r
+                               bRet = diff.Diff(&cmdLinePath,&cmdLinePath, revs.GetGitRevAt(0).m_CommitHash.ToString(), revs.GetGitRevAt(1).m_CommitHash.ToString(), false);\r
                        }\r
                }\r
                else\r