git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Fix handling of git-p4 on deleted files
@ 2010-10-18 15:39 Andrew Waters
  2010-10-22 10:20 ` Thomas Berg
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Waters @ 2010-10-18 15:39 UTC (permalink / raw)
  To: git

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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Fix handling of git-p4 on deleted files
  2010-10-18 15:39 [PATCH] Fix handling of git-p4 on deleted files Andrew Waters
@ 2010-10-22 10:20 ` Thomas Berg
  2010-10-22 12:26   ` Andrew Waters
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Berg @ 2010-10-22 10:20 UTC (permalink / raw)
  To: git; +Cc: Andrew Waters

Hi,

On Mon, Oct 18, 2010 at 5:39 PM, Andrew Waters <apwaters@googlemail.com> 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: <deleted file>: 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] Fix handling of git-p4 on deleted files
  2010-10-22 10:20 ` Thomas Berg
@ 2010-10-22 12:26   ` Andrew Waters
  2010-10-22 18:52     ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Waters @ 2010-10-22 12:26 UTC (permalink / raw)
  To: git, gitster

Signed-off-by: Andrew Waters <apwaters@googlemail.com>
---
 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 <merlin66b@gmail.com> wrote:
> Hi,
>
> On Mon, Oct 18, 2010 at 5:39 PM, Andrew Waters <apwaters@googlemail.com> 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: <deleted file>: 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
>

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Fix handling of git-p4 on deleted files
  2010-10-22 12:26   ` Andrew Waters
@ 2010-10-22 18:52     ` Junio C Hamano
  0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2010-10-22 18:52 UTC (permalink / raw)
  To: Andrew Waters; +Cc: git, Thomas Berg

Andrew Waters <apwaters@googlemail.com> writes:

> On 22 October 2010 11:20, Thomas Berg <merlin66b@gmail.com> wrote:
>> Hi,
>>
>> On Mon, Oct 18, 2010 at 5:39 PM, Andrew Waters <apwaters@googlemail.com> 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: <deleted file>: 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.

Thanks for a resend.  Will queue.

> Signed-off-by: Andrew Waters <apwaters@googlemail.com>
> ---
>  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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-10-22 18:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-18 15:39 [PATCH] Fix handling of git-p4 on deleted files Andrew Waters
2010-10-22 10:20 ` Thomas Berg
2010-10-22 12:26   ` Andrew Waters
2010-10-22 18:52     ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).