git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] Thunderbird: fix appp.sh format problems
@ 2012-08-30  8:48 Marco Stornelli
  2012-08-30 17:00 ` Junio C Hamano
  0 siblings, 1 reply; 3+ messages in thread
From: Marco Stornelli @ 2012-08-30  8:48 UTC (permalink / raw)
  To: git

The current script has got the following problems:

1) It doesn't work if the language used by Thunderbird is not English;
2) The field To: filled by format-patch is not evaluated;
3) The field Cc: is loaded only from Cc used in the commit message
instead of using even the Cc field filled by format-patch in the email
header.

Added comments for point 1). Fixed point 2) and 3).

Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
---
v2: changed the commit message to reflect better the script implementation

 contrib/thunderbird-patch-inline/appp.sh |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/contrib/thunderbird-patch-inline/appp.sh b/contrib/thunderbird-patch-inline/appp.sh
index 5eb4a51..e6e1b85 100755
--- a/contrib/thunderbird-patch-inline/appp.sh
+++ b/contrib/thunderbird-patch-inline/appp.sh
@@ -6,6 +6,9 @@
 
 # ExternalEditor can be downloaded at http://globs.org/articles.php?lng=en&pg=2
 
+# NOTE: You must change some words in this script according to the language
+# used by Mozilla Thunderbird, as <Subject>, <To>, <Don't remove this line>.
+
 CONFFILE=~/.appprc
 
 SEP="-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-"
@@ -26,17 +29,24 @@ fi
 cd - > /dev/null
 
 SUBJECT=`sed -n -e '/^Subject: /p' "${PATCH}"`
-HEADERS=`sed -e '/^'"${SEP}"'$/,$d' $1`
 BODY=`sed -e "1,/${SEP}/d" $1`
 CMT_MSG=`sed -e '1,/^$/d' -e '/^---$/,$d' "${PATCH}"`
 DIFF=`sed -e '1,/^---$/d' "${PATCH}"`
 
-CCS=`echo -e "$CMT_MSG\n$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp' \
-	-e 's/^Signed-off-by: \(.*\)/\1,/gp'`
+export PATCH
+CCS=`perl -e 'local $/=undef; open FILE, $ENV{'PATCH'}; $text=<FILE>;
+close FILE; $cc = $1 if $text =~ /Cc: (.*?(,\n .*?)*)\n/s; $cc =~ s/\n//g;
+print $cc;'`
+
+TO=`perl -e 'local $/=undef; open FILE, $ENV{'PATCH'}; $text=<FILE>;
+close FILE; $to = $1 if $text =~ /To: (.*?(,\n .*?)*)\n/s; $to =~ s/\n//g;
+print $to;'`
 
+# Change <Subject> before next line according to Thunderbird language
 echo "$SUBJECT" > $1
+# Change <To> according to Thunderbird language
+echo "To: $TO" >> $1
 echo "Cc: $CCS" >> $1
-echo "$HEADERS" | sed -e '/^Subject: /d' -e '/^Cc: /d' >> $1
 echo "$SEP" >> $1
 
 echo "$CMT_MSG" >> $1
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] Thunderbird: fix appp.sh format problems
  2012-08-30  8:48 [PATCH v2] Thunderbird: fix appp.sh format problems Marco Stornelli
@ 2012-08-30 17:00 ` Junio C Hamano
  2012-08-31  7:09   ` Marco Stornelli
  0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2012-08-30 17:00 UTC (permalink / raw)
  To: Marco Stornelli; +Cc: git

Marco Stornelli <marco.stornelli@gmail.com> writes:

> The current script has got the following problems:
>
> 1) It doesn't work if the language used by Thunderbird is not English;
> 2) The field To: filled by format-patch is not evaluated;
> 3) The field Cc: is loaded only from Cc used in the commit message
> instead of using even the Cc field filled by format-patch in the email
> header.
>
> Added comments for point 1). Fixed point 2) and 3).
>
> Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
> ---
> v2: changed the commit message to reflect better the script implementation

I actually thought what the log message of the previous version
claimed to do was much more sensible.

The language used in the above 3 items describe what you perceive as
a problem, but it is unclear what the desired behaviour that is
different from the current one is.  (2) "... is not evaluated"
implies ", which is a problem, so fix it by evaluating it", but
there is no single obvious fix to (3) "loaded only from Cc in commit
and not Cc from format-patch".  Should it ignore Cc from commit log
message, or should it take Cc from both log message and e-mail
header?  I personally think it should the former, but it is not
clear which you think is the right thing to do (or perhaps you have
a third answer) if you only say "Fixed point 3".
>
>  contrib/thunderbird-patch-inline/appp.sh |   18 ++++++++++++++----
>  1 files changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/contrib/thunderbird-patch-inline/appp.sh b/contrib/thunderbird-patch-inline/appp.sh
> index 5eb4a51..e6e1b85 100755
> --- a/contrib/thunderbird-patch-inline/appp.sh
> +++ b/contrib/thunderbird-patch-inline/appp.sh
> @@ -6,6 +6,9 @@
>  
>  # ExternalEditor can be downloaded at http://globs.org/articles.php?lng=en&pg=2
>  
> +# NOTE: You must change some words in this script according to the language
> +# used by Mozilla Thunderbird, as <Subject>, <To>, <Don't remove this line>.
> +
>  CONFFILE=~/.appprc
>  
>  SEP="-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-"
> @@ -26,17 +29,24 @@ fi
>  cd - > /dev/null
>  
>  SUBJECT=`sed -n -e '/^Subject: /p' "${PATCH}"`
> -HEADERS=`sed -e '/^'"${SEP}"'$/,$d' $1`
>  BODY=`sed -e "1,/${SEP}/d" $1`
>  CMT_MSG=`sed -e '1,/^$/d' -e '/^---$/,$d' "${PATCH}"`
>  DIFF=`sed -e '1,/^---$/d' "${PATCH}"`
>  
> -CCS=`echo -e "$CMT_MSG\n$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp' \
> -	-e 's/^Signed-off-by: \(.*\)/\1,/gp'`
> +export PATCH
> +CCS=`perl -e 'local $/=undef; open FILE, $ENV{'PATCH'}; $text=<FILE>;
> +close FILE; $cc = $1 if $text =~ /Cc: (.*?(,\n .*?)*)\n/s; $cc =~ s/\n//g;
> +print $cc;'`
> +
> +TO=`perl -e 'local $/=undef; open FILE, $ENV{'PATCH'}; $text=<FILE>;
> +close FILE; $to = $1 if $text =~ /To: (.*?(,\n .*?)*)\n/s; $to =~ s/\n//g;
> +print $to;'`
>  
> +# Change <Subject> before next line according to Thunderbird language
>  echo "$SUBJECT" > $1

"before next line"???  I do not think you meant to rename the
variable $SUBJECT to $<localized string for subject>.

> +# Change <To> according to Thunderbird language

	# Change "To: " according to...

would be less confusing, as the line has to "to" on it when viewed
case insensitively.

> +echo "To: $TO" >> $1

>  echo "Cc: $CCS" >> $1
> -echo "$HEADERS" | sed -e '/^Subject: /d' -e '/^Cc: /d' >> $1
>  echo "$SEP" >> $1
>  
>  echo "$CMT_MSG" >> $1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] Thunderbird: fix appp.sh format problems
  2012-08-30 17:00 ` Junio C Hamano
@ 2012-08-31  7:09   ` Marco Stornelli
  0 siblings, 0 replies; 3+ messages in thread
From: Marco Stornelli @ 2012-08-31  7:09 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Il 30/08/2012 19:00, Junio C Hamano ha scritto:
> Marco Stornelli <marco.stornelli@gmail.com> writes:
>
>> The current script has got the following problems:
>>
>> 1) It doesn't work if the language used by Thunderbird is not English;
>> 2) The field To: filled by format-patch is not evaluated;
>> 3) The field Cc: is loaded only from Cc used in the commit message
>> instead of using even the Cc field filled by format-patch in the email
>> header.
>>
>> Added comments for point 1). Fixed point 2) and 3).
>>
>> Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
>> ---
>> v2: changed the commit message to reflect better the script implementation
>
> I actually thought what the log message of the previous version
> claimed to do was much more sensible.
>
> The language used in the above 3 items describe what you perceive as
> a problem, but it is unclear what the desired behaviour that is
> different from the current one is.  (2) "... is not evaluated"
> implies ", which is a problem, so fix it by evaluating it", but
> there is no single obvious fix to (3) "loaded only from Cc in commit
> and not Cc from format-patch".  Should it ignore Cc from commit log
> message, or should it take Cc from both log message and e-mail
> header?  I personally think it should the former, but it is not
> clear which you think is the right thing to do (or perhaps you have
> a third answer) if you only say "Fixed point 3".

Ok, I can change the commit. Actually with the new implementation Cc: is 
evaluated in both cases.

>>
>>   contrib/thunderbird-patch-inline/appp.sh |   18 ++++++++++++++----
>>   1 files changed, 14 insertions(+), 4 deletions(-)
>>
>> diff --git a/contrib/thunderbird-patch-inline/appp.sh b/contrib/thunderbird-patch-inline/appp.sh
>> index 5eb4a51..e6e1b85 100755
>> --- a/contrib/thunderbird-patch-inline/appp.sh
>> +++ b/contrib/thunderbird-patch-inline/appp.sh
>> @@ -6,6 +6,9 @@
>>
>>   # ExternalEditor can be downloaded at http://globs.org/articles.php?lng=en&pg=2
>>
>> +# NOTE: You must change some words in this script according to the language
>> +# used by Mozilla Thunderbird, as <Subject>, <To>, <Don't remove this line>.
>> +
>>   CONFFILE=~/.appprc
>>
>>   SEP="-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-"
>> @@ -26,17 +29,24 @@ fi
>>   cd - > /dev/null
>>
>>   SUBJECT=`sed -n -e '/^Subject: /p' "${PATCH}"`
>> -HEADERS=`sed -e '/^'"${SEP}"'$/,$d' $1`
>>   BODY=`sed -e "1,/${SEP}/d" $1`
>>   CMT_MSG=`sed -e '1,/^$/d' -e '/^---$/,$d' "${PATCH}"`
>>   DIFF=`sed -e '1,/^---$/d' "${PATCH}"`
>>
>> -CCS=`echo -e "$CMT_MSG\n$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp' \
>> -	-e 's/^Signed-off-by: \(.*\)/\1,/gp'`
>> +export PATCH
>> +CCS=`perl -e 'local $/=undef; open FILE, $ENV{'PATCH'}; $text=<FILE>;
>> +close FILE; $cc = $1 if $text =~ /Cc: (.*?(,\n .*?)*)\n/s; $cc =~ s/\n//g;
>> +print $cc;'`
>> +
>> +TO=`perl -e 'local $/=undef; open FILE, $ENV{'PATCH'}; $text=<FILE>;
>> +close FILE; $to = $1 if $text =~ /To: (.*?(,\n .*?)*)\n/s; $to =~ s/\n//g;
>> +print $to;'`
>>
>> +# Change <Subject> before next line according to Thunderbird language
>>   echo "$SUBJECT" > $1
>
> "before next line"???  I do not think you meant to rename the
> variable $SUBJECT to $<localized string for subject>.

In my case I add a line before in this way:

....
SUBJECT=`echo $SUBJECT | sed 's/Subject/Oggetto/g'`
echo "$SUBJECT" > $1
....

>
>> +# Change <To> according to Thunderbird language
>
> 	# Change "To: " according to...

Ok.

>
> would be less confusing, as the line has to "to" on it when viewed
> case insensitively.
>
>> +echo "To: $TO" >> $1
>
>>   echo "Cc: $CCS" >> $1
>> -echo "$HEADERS" | sed -e '/^Subject: /d' -e '/^Cc: /d' >> $1
>>   echo "$SEP" >> $1
>>
>>   echo "$CMT_MSG" >> $1
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-08-31  7:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-30  8:48 [PATCH v2] Thunderbird: fix appp.sh format problems Marco Stornelli
2012-08-30 17:00 ` Junio C Hamano
2012-08-31  7:09   ` Marco Stornelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).