OSDN Git Service

Fix TortoiseMerge launch fail because stage is not tree.
authorFrank Li <lznuaa@gmail.com>
Sat, 21 Feb 2009 14:00:36 +0000 (22:00 +0800)
committerFrank Li <lznuaa@gmail.com>
Sat, 21 Feb 2009 14:00:36 +0000 (22:00 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/TortoiseProc/AppUtils.cpp

index c35e4af..3c5c6e3 100644 (file)
@@ -1298,12 +1298,22 @@ bool CAppUtils::ConflictEdit(CTGitPath &path,bool bAlternativeTool)
 \r
        \r
        format=_T("git.exe cat-file blob \":%d:%s\"");\r
+       CFile tempfile;\r
+       //create a empty file, incase stage is not three\r
+       tempfile.Open(mine.GetWinPathString(),CFile::modeCreate|CFile::modeReadWrite);\r
+       tempfile.Close();\r
+       tempfile.Open(theirs.GetWinPathString(),CFile::modeCreate|CFile::modeReadWrite);\r
+       tempfile.Close();\r
+       tempfile.Open(base.GetWinPathString(),CFile::modeCreate|CFile::modeReadWrite);\r
+       tempfile.Close();\r
+\r
+\r
        for(int i=0;i<list.GetCount();i++)\r
        {\r
                CString cmd;\r
                CString outfile;\r
                cmd.Format(format,list[i].m_Stage,list[i].GetGitPathString());\r
-\r
+               \r
                if( list[i].m_Stage == 1)\r
                {\r
                        outfile=base.GetWinPathString();\r
@@ -1315,7 +1325,7 @@ bool CAppUtils::ConflictEdit(CTGitPath &path,bool bAlternativeTool)
                if( list[i].m_Stage == 3 )\r
                {\r
                        outfile=theirs.GetWinPathString();\r
-               }\r
+               }       \r
                g_Git.RunLogFile(cmd,outfile);\r
        }\r
 \r