From: Junio C Hamano Date: Mon, 29 Apr 2013 03:59:16 GMT Subject: Re: Git.pm with recent File::Temp fail Message-ID: <7vr4hung17.fsf@alter.siamese.dyndns.org> In-Reply-To: <20130429021651.GA2751@sigill.intra.peff.net> Jeff King writes: > 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. It was more like "It managed to miss people's attention because the subject didn't say [PATCH]", but yes you are right that the change the patch text itself shows looks reasonable and that I cannot apply a patch that is not signed off (and worse yet in multipart/mixed). > ... > 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 Thanks.