[PATCH] Fix handling of git-p4 on deleted files
- From
- Andrew Waters <apwaters@googlemail.com>
- Date
- Oct 18, 2010, 15:39 UTC
- Message-ID
- <AANLkTimzN9ZGwQZ-pi6SMWGY9KS0fjmXu=1gjdfck=W-@mail.gmail.com>
When you submit changes containing deleted file the command 'p4 diff -du ...' includes diffs for deleted files. This causes the failure:
open for read: <deleted file>: No such file or directory Command failed: p4 diff -du ...
The problem is that perforce has been told to delete the file and then we try to apply diffs to a file which no longer exists.
--- 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