summaryrefslogtreecommitdiff
path: root/git-send-email.perl
diff options
context:
space:
mode:
authorJay Soffian <jaysoffian@gmail.com>2009-02-23 13:51:37 -0500
committerJunio C Hamano <gitster@pobox.com>2009-02-23 22:03:50 -0800
commitafe756c936334a5a374a8e0e8ee70a7f319dd71b (patch)
treeb670a2485baa4ea928ab29c80d876d401b9894a3 /git-send-email.perl
parent3531e2703d8e441bfb4a6765459317b3db3f224c (diff)
downloadgit-afe756c936334a5a374a8e0e8ee70a7f319dd71b.tar.gz
send-email: don't create temporary compose file until it is needed
Commit eed6ca7 caused a minor regression when it switched to using tempfile() to generate the temporary compose file. Since tempfile() creates the file at the time it generates the filename, zero-length temporary files are being left behind unless --compose is used (in which case the file is cleaned up). This patch fixes the regression by not calling tempfile() to generate the compose filename unless --compose is in use. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-send-email.perl')
-rwxr-xr-xgit-send-email.perl20
1 files changed, 11 insertions, 9 deletions
diff --git a/git-send-email.perl b/git-send-email.perl
index 54e76173f9..adf7ecb5c3 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -156,10 +156,7 @@ if ($@) {
# Behavior modification variables
my ($quiet, $dry_run) = (0, 0);
my $format_patch;
-my $compose_filename = ($repo ?
- tempfile(".gitsendemail.msg.XXXXXX", DIR => $repo->repo_path()) :
- tempfile(".gitsendemail.msg.XXXXXX", DIR => "."))[1];
-
+my $compose_filename;
# Handle interactive edition of files.
my $multiedit;
@@ -222,11 +219,13 @@ sub signal_handler {
system "stty echo";
# tmp files from --compose
- if (-e $compose_filename) {
- print "'$compose_filename' contains an intermediate version of the email you were composing.\n";
- }
- if (-e ($compose_filename . ".final")) {
- print "'$compose_filename.final' contains the composed email.\n"
+ if (defined $compose_filename) {
+ if (-e $compose_filename) {
+ print "'$compose_filename' contains an intermediate version of the email you were composing.\n";
+ }
+ if (-e ($compose_filename . ".final")) {
+ print "'$compose_filename.final' contains the composed email.\n"
+ }
}
exit;
@@ -505,6 +504,9 @@ sub get_patch_subject($) {
if ($compose) {
# Note that this does not need to be secure, but we will make a small
# effort to have it be unique
+ $compose_filename = ($repo ?
+ tempfile(".gitsendemail.msg.XXXXXX", DIR => $repo->repo_path()) :
+ tempfile(".gitsendemail.msg.XXXXXX", DIR => "."))[1];
open(C,">",$compose_filename)
or die "Failed to open for writing $compose_filename: $!";