Re: Git.pm with recent File::Temp fail

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Apr 28, 2013 at 11:09:33AM +0200, H.Merijn Brand wrote:

> Still failing in 1.8.2.2
> 
> Short fix:
> --8<---
> diff --git a/perl/Git.pm b/perl/Git.pm
> index dc48159..7a252ef 100644
> --- a/perl/Git.pm
> +++ b/perl/Git.pm
> @@ -1265,7 +1265,7 @@ sub _temp_cache {
>                         $tmpdir = $self->repo_path();
>                 }
> 
> -               ($$temp_fd, $fname) = File::Temp->tempfile(
> +               ($$temp_fd, $fname) = File::Temp::tempfile(
>                         'Git_XXXXXX', UNLINK => 1, DIR => $tmpdir,
>                         ) or throw Error::Simple("couldn't open new temp file");

I think this fix is the right thing. Your patch probably didn't get
applied because it did not follow the guidelines in SubmittingPatches.
Please make sure the subject-line of your email says "[PATCH]".

I.e., this part:

> From b3be713101469f8bea14b854eb7840132ffdca8a Mon Sep 17 00:00:00 2001
> From: "H.Merijn Brand - Tux" <h.m.brand@xxxxxxxxx>
> Date: Sun, 28 Apr 2013 11:03:15 +0200
> Subject: [PATCH] Git.pm with recent File::Temp fail

Should be your actual email header, not just in the body of the message.

> git-1.8.2{,.1,.2}, perl-5.16.3, File::Temp-0.23
> 
> Without patch:
> 
> $ git svn fetch
> 'tempfile' can't be called as a method at /pro/lib/perl5/site_perl/5.16.3/Git.pm line 1117.
> 
> After patch:
> 
> $ git svn fetch
>         M       t/06virtual.t
> r15506 = 6c65be7ff36ffc6fd9b960a4b470ca297103004e (refs/remotes/git-svn)

I think the relevant thing is that File::Temp 0.23 started complaining
about this. From their Changes file:

  2013-03-14 Tim Jenness <tjenness@xxxxxxxx>

          ---- Release V0.23 CPAN ----

  [...]
        * Temp.pm: Calling tempfile or tempdir as a class method now
          produce a more useful fatal error message

So I think the right commit message is something like:

  We call File::Temp's "tempfile" function as a class method, but it was
  never designed to be called this way. Older versions seemed to
  tolerate it, but as of File::Temp 0.23, it blows up like this:

    $ git svn fetch
    'tempfile' can't be called as a method at .../Git.pm line 1117.

  Fix it by calling it as a regular function, just inside the File::Temp
  namespace.

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]