Skip to content

sanfx/git-maildiff

Repository files navigation

git maildiff

Python Version PyPI - License Issues - Open

maildiff is a simple git command to send diff in color to a reviewer or co-worker through email.

Install

Navigate to the git-maildiff directory you cloned or downloaded from terminal:

pip install .

Uninstall

pip uninstall maildiff

Setup Config

git config --global maildiff.mailto recipient@email.com

git config --global maildiff.smtpserver smtp.gmail.com

git config --global maildiff.smtpserverport 587

git config --global maildiff.mailFrom sender@email.com

git config --global maildiff.smtpencryption tls

e.g. Gmail uses tls encryption

If you forget to run the above setup, the git maildiff command will prompt each one by one and update .gitconfig. The email password is stored in the OS keychain.

Usage

git maildiff - Email the diff of committed or uncommitted changes in color to multiple recipients and allows attaching patches.

git maildiff -d 'HEAD^1' - will email the diff.

When no -diff or -d flag is passed, the default value is git diff HEAD^ HEAD.

git maildiff -to email@domain.com - will email diff to this email address.

git maildiff -v - use the -v flag to enable verbosity and display what command is run and what is the result of the executed command.

type git maildiff -h in shell for more help.

Note

If you are behind a proxy server and are having issues accessing a git repository, you can update gitconfig to add proxy settings:

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080

Module Structure

emaildiff/
├── diff/
│   ├── generate.py    — converts git diff output to syntax-colored HTML
│   └── validate.py    — validates diff output and repository state
├── mail/
│   ├── send.py        — SMTP email sending with HTML content and attachments
│   └── validate.py    — email address validation
└── maildiff_cmd.py    — CLI entry point and orchestration

Dependencies

Type git maildiff -h for help in command line / terminal

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.

Contact

For any questions or issues, please open an issue on this GitHub repository or contact Sanjeev Kumar


⭐️ Don't forget to star the repository if you find it useful!

About

Use this git command to email the coloured diff embedded in email or patch attachment with your colleague

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors