All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Rast <trast@student.ethz.ch>
To: Christoph Miebach <christoph.miebach@web.de>
Cc: git@vger.kernel.org, "Jürgen Rühle" <j-r@online.de>,
	"Jeff King" <peff@peff.net>, "Junio C Hamano" <gitster@pobox.com>
Subject: Re: bug (?) in send email
Date: Mon, 30 Jul 2012 14:30:35 +0200	[thread overview]
Message-ID: <873949mnx0.fsf@thomas.inf.ethz.ch> (raw)
In-Reply-To: <50166408.8000008@web.de> (Christoph Miebach's message of "Mon, 30 Jul 2012 12:38:00 +0200")

[+Cc people involved with this function]

Christoph Miebach <christoph.miebach@web.de> writes:

> > git commit --author="Michał Tz <name_1911@some.com>" modified.file -m
> > "Test"
> >
> > git format-patch -o patches origin
> >
> > Now, the patch seems to have the address right, see [1]
> >
> > git send-email  --to MYOWN.ADDRESS@mail.com --suppress-cc=author
> > patches/0001-Test.patch
> >
> > But checking my inbox now shows an email starting with:
> > From: Michał Tz <name 1911@some.com>
> 
> Removing this line
> s/_/ /g;
> here
> https://github.com/git/git/blob/master/git-send-email.perl#L867
>
> Solves this problem for me. But I really don't have any clue, what
> kind of side effects this modification on "sub unquote_rfc2047" might
> have.

It would prevent spaces from being decoded correctly if the encoding
program chooses to make the '_'.  git-format-patch does not actually do
this, see the big comment around pretty.c:304.

I think this patch would be a better match for what RFC2047 specifies.
On the one hand it avoids substituting _ outside of encodings, but OTOH
it also handles more than one encoded-word.  It still does not handle
the case where there are several encoded-words of *different* encodings,
but who would do such a crazy thing?


diff --git i/git-send-email.perl w/git-send-email.perl
index ef30c55..88c4758 100755
--- i/git-send-email.perl
+++ w/git-send-email.perl
@@ -862,11 +862,13 @@ sub make_message_id {
 sub unquote_rfc2047 {
 	local ($_) = @_;
 	my $encoding;
-	if (s/=\?([^?]+)\?q\?(.*)\?=/$2/g) {
+	s{=\?([^?]+)\?q\?(.*)\?=}{
 		$encoding = $1;
-		s/_/ /g;
-		s/=([0-9A-F]{2})/chr(hex($1))/eg;
-	}
+		my $e = $2;
+		$e =~ s/_/ /g;
+		$e =~ s/=([0-9A-F]{2})/chr(hex($1))/eg;
+		$e;
+	}eg;
 	return wantarray ? ($_, $encoding) : $_;
 }
 


-- 
Thomas Rast
trast@{inf,student}.ethz.ch

  reply	other threads:[~2012-07-30 12:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-28 21:33 bug (?) in send email Christoph Miebach
2012-07-30 10:38 ` Christoph Miebach
2012-07-30 12:30   ` Thomas Rast [this message]
2012-07-30 15:38     ` Junio C Hamano
2012-07-30 16:34       ` Jeff King
2012-07-30 16:32     ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=873949mnx0.fsf@thomas.inf.ethz.ch \
    --to=trast@student.ethz.ch \
    --cc=christoph.miebach@web.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=j-r@online.de \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.