Re: sending attachments via git send-email

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Shourya,

My $0.02:

On 03/02/20 12:17PM, Shourya Shukla wrote:
> Hello everyone,
> 
> I was doing some tests on 'git send-email'[1] and noticed a couple of things:
> 
> 	1. We are not able to send attachments via 'git send-email' unlike
> 	   various other mail clients such as GMail, Yahoo, etc. Is there
> 	   any particular reason for this (maybe performance issues or code
> 	   compatibility issues etc.)?

IMO git-send-email shouldn't really be used for sending attachments. 
That is the job of other mail clients that you mention. git-send-email's 
purpose is to make it easier to send commits/patches via mail in plain 
text form. Its purpose is not to be a general mail client.

> 	2. Even so, I tried sending an image to myself and noticed that the
> 	   command basically does not check if we are sending a text file or
> 	   not(though I think it should unless there is any key reason behind it).
> 	   On executing the command(when trying to send an image), it asks for the
> 	   encoding (that was odd as it did not ask for any of emails I have sent
>            using the command). I entered the command:
> 	   'git send-email --to=shouryashukla.oo@xxxxxxxxx --subject=test_mail me.JPG'
> 	   which prompts:
> 	   'The following files are 8bit, but do not declare a Content-Transfer-Encoding.'
>     	   'me.JPG'
> 	   'Which 8bit encoding should I declare [UTF-8]?'
> 	   So i enter the encoding as '8BIT', which at the end prompts:
> 	   'No subject line in me.JPG? at /usr/lib/git-core/git-send-email line 687.'
> 	   
> 	   Why is this happening even though I entered the subject in the command itself?

I don't know much about the internals of git-send-email (or the JPEG 
image format), but my guess is git-send-email tries to decode the JPEG 
file as a text file and then fails to detect encoding, and so asks the 
user explicitly what the encoding is. I don't necessarily think that is 
a bad thing. You shouldn't be sending images via git-send-email.

That said, maybe it would be a good idea to check the mime type of the 
file and warn the user.
 
> 	3. I looked up at the script of the command and noticed that there are two files,
> 	   namely: 'git-send-email.perl' and 'git-send-email', both are identical except for
> 	   an extra 'use lib (split(/:/, $ENV{GITPERLLIB} || '/home/<<username>>/share/perl5'));'
> 	   on line 3 of 'git-send-email'(my inference is that we are trying to import the perl
> 	   library by splitting the addresses at '/' or something similar). What is the purpose
> 	   of the latter file?(I am new to Perl, if I am missing out on anything please forgive
> 	   my ignorance).

Running 'git ls-files | grep git-send-email' gives me:

  Documentation/git-send-email.txt
  git-send-email.perl

So it means the file 'git-send-email' is not tracked and is an output 
from the build system. My guess is that the build system inserts this 
line when you run 'make'. Check the file 
'perl/header_templates/fixed_prefix.template.pl'.

-- 
Regards,
Pratyush Yadav



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux