From: Andrew Waters Date: Fri, 22 Oct 2010 12:26:02 GMT Subject: [PATCH] Fix handling of git-p4 on deleted files Message-ID: In-Reply-To: Signed-off-by: Andrew Waters --- contrib/fast-import/git-p4 | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4 index c1ea643..04ce7e3 100755 --- a/contrib/fast-import/git-p4 +++ b/contrib/fast-import/git-p4 @@ -706,7 +706,9 @@ class P4Submit(Command): submitTemplate = self.prepareLogMessage(template, logMessage) if os.environ.has_key("P4DIFF"): del(os.environ["P4DIFF"]) - diff = p4_read_pipe("diff -du ...") + diff = "" + for editedFile in editedFiles: + diff += p4_read_pipe("diff -du %r" % editedFile) newdiff = "" for newFile in filesToAdd: -- 1.7.2.2 On 22 October 2010 11:20, Thomas Berg wrote: > Hi, > > On Mon, Oct 18, 2010 at 5:39 PM, Andrew Waters wrote: >> When you submit changes containing deleted file the command 'p4 diff >> -du ...' includes diffs for deleted files. This causes the failure: >> >> open for read: : No such file or directory >> Command failed: p4 diff -du ... > > I'm a daily git-p4 user and noticed this problem too: 'git p4 submit' > fails for commits with deleted files, with recent Perforce verions. > The problem has been brought up earlier [1], but no patch has actually > submitted yet. > >> diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4 >> index c1ea643..04ce7e3 100755 >> --- a/contrib/fast-import/git-p4 >> +++ b/contrib/fast-import/git-p4 >> @@ -706,7 +706,9 @@ class P4Submit(Command): >>             submitTemplate = self.prepareLogMessage(template, logMessage) >>             if os.environ.has_key("P4DIFF"): >>                 del(os.environ["P4DIFF"]) >> -            diff = p4_read_pipe("diff -du ...") >> +            diff = "" >> +            for editedFile in editedFiles: >> +                diff += p4_read_pipe("diff -du %r" % editedFile) >> >>             newdiff = "" >>             for newFile in filesToAdd: >> -- > > I just tested your patch, and it does indeed fix the problem. I think > you need to "sign off" on the patch, other than that I support > applying it. > > Regards, > Thomas > > [1] http://kerneltrap.org/mailarchive/git/2010/5/28/31299 >