OSDN Git Service

Fix diff problem when filenames have embedded spaces
authorColin Law <colin@clanlaw.org.uk>
Wed, 11 Feb 2009 09:19:40 +0000 (09:19 +0000)
committerFrank Li <lznuaa@gmail.com>
Wed, 11 Feb 2009 13:44:58 +0000 (21:44 +0800)
When filenames have embedded spaces diff called from various places shows empty file

src/TortoiseProc/GitDiff.cpp

index d85f2c3..553e9f7 100644 (file)
@@ -43,7 +43,7 @@ int CGitDiff::DiffNull(CTGitPath *pPath, git_revnum_t &rev1)
                                pPath->GetBaseFilename(),\r
                                rev1.Left(6),\r
                                pPath->GetFileExtension());\r
-               cmd.Format(_T("git.exe cat-file -p %s:%s"),rev1,pPath->GetGitPathString());\r
+               cmd.Format(_T("git.exe cat-file -p %s:\"%s\""),rev1,pPath->GetGitPathString());\r
                                g_Git.RunLogFile(cmd,file1);\r
        }else\r
        {\r
@@ -80,7 +80,7 @@ int CGitDiff::Diff(CTGitPath * pPath,CTGitPath * pPath2, git_revnum_t & rev1, gi
                                rev1.Left(6),\r
                                pPath->GetFileExtension());\r
                title1 = pPath->GetFileOrDirectoryName()+_T(":")+rev1.Left(6);\r
-               cmd.Format(_T("git.exe cat-file -p %s:%s"),rev1,pPath->GetGitPathString());\r
+               cmd.Format(_T("git.exe cat-file -p %s:\"%s\""),rev1,pPath->GetGitPathString());\r
                                g_Git.RunLogFile(cmd,file1);\r
        }else\r
        {\r
@@ -99,7 +99,7 @@ int CGitDiff::Diff(CTGitPath * pPath,CTGitPath * pPath2, git_revnum_t & rev1, gi
                                rev2.Left(6),\r
                                pPath2->GetFileExtension());\r
                title2 = pPath2->GetFileOrDirectoryName()+_T(":")+rev2.Left(6);\r
-               cmd.Format(_T("git.exe cat-file -p %s:%s"),rev2,pPath2->GetGitPathString());\r
+               cmd.Format(_T("git.exe cat-file -p %s:\"%s\""),rev2,pPath2->GetGitPathString());\r
                g_Git.RunLogFile(cmd,file2);\r
        }else\r
        {\r