threads / patch / 32818

patchsend-email: ignore files ending with ~

Subject: [PATCH] send-email: ignore files ending with ~

## tl;dr

3 messages between Feb 3, 2013 and Feb 4, 2013. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Alexandre Courbot· Feb 3, 2013, 14:55 UTC · lore

It certainly happened to a lot of people already: you carefully prepare your set of patches, export them using format-patch --cover-letter, write your cover letter, and send the set like this:

$ git send-email --to=somerenowneddeveloper --to=myfutureemployer
  --cc=thismailinglistiwanttoimpress 00*

And of course since you think you know what you are doing, you just answer 'a' at the first prompt to send all emails at once.

The next day, all these people are laughing at you because the editor you used to write your cover letter saved a backup of the previous version and they received two versions of it, including one containing the familiar *** BLURB HERE *** (or potentially more humiliating stuff if you used the buffer as a temporary scratch).

Let's save people's reputations by ignoring files ending with '~' in send-email. There should be no reason to send such a file anyways.

Signed-off-by: Alexandre Courbot <gnurou@gmail.com>
---
 git-send-email.perl | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Show changes to git-send-email.perl +4 −1
diff --git a/git-send-email.perl b/git-send-email.perl
index be809e5..4cc5855 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -548,7 +548,10 @@ while (defined(my $f = shift @ARGV)) {
 				sort readdir $dh;
 		closedir $dh;
 	} elsif ((-f $f or -p $f) and !check_file_rev_conflict($f)) {
-		push @files, $f;
+		# Ignore backup files
+		if ($f !~ "~\$") {
+			push @files, $f;
+		}
 	} else {
 		push @rev_list_opts, $f;
 	}
-- 
1.8.1.1
Antoine Pelisse· Feb 3, 2013, 17:16 UTC · re: Alexandre Courbot · lore

Re: [PATCH] send-email: ignore files ending with ~

On Sun, Feb 3, 2013 at 3:55 PM, Alexandre Courbot <gnurou@gmail.com> wrote:
Show 6 quoted lines
> It certainly happened to a lot of people already: you carefully prepare
> your set of patches, export them using format-patch --cover-letter,
> write your cover letter, and send the set like this:
>
> $ git send-email --to=somerenowneddeveloper --to=myfutureemployer
>   --cc=thismailinglistiwanttoimpress 00*

Why don't you use 00*.patch ? That seems dubious to me to ignore files specified on the command line.

Alexandre Courbot· Feb 4, 2013, 02:43 UTC · re: Antoine Pelisse · lore

Re: [PATCH] send-email: ignore files ending with ~

On Mon, Feb 4, 2013 at 2:16 AM, Antoine Pelisse <apelisse@gmail.com> wrote:
Show 10 quoted lines
> On Sun, Feb 3, 2013 at 3:55 PM, Alexandre Courbot <gnurou@gmail.com> wrote:
>> It certainly happened to a lot of people already: you carefully prepare
>> your set of patches, export them using format-patch --cover-letter,
>> write your cover letter, and send the set like this:
>>
>> $ git send-email --to=somerenowneddeveloper --to=myfutureemployer
>>   --cc=thismailinglistiwanttoimpress 00*
>
> Why don't you use 00*.patch ? That seems dubious to me to ignore files
> specified on the command line.

For the same reason I do not list all the patches individually on the command line: laziness.

The goal of this patch is in no way to argue that using send-email like this is a recommandable way. It just adds a safeguard on a use-case that is probably not so uncommon.

Alex.

← back to recent threads