git maildiff
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!
Metadata
Release files for maildiff 3.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| maildiff-3.1.0.tar.gz | 12.0 kB | Without provenance | Details for maildiff-3.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| maildiff-3.1.0-py3-none-any.whl | Python 3 | none | any | Details for maildiff-3.1.0-py3-none-any.whl |
Total release size: 24.4 kB
Release files / maildiff-3.1.0.tar.gz
| Download URL | maildiff-3.1.0.tar.gz |
|---|---|
| Size | 12.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66bb7c8fa449c508b130d34f5d25e35b11e68edb01e537f7dd486843ca947c5d
|
|
BLAKE2b-256 checksum How to use checksums |
8520a50c396c0217195b62c5190448ff470fbe6d0a0aee806d2c706367b5616a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / maildiff-3.1.0-py3-none-any.whl
| Download URL | maildiff-3.1.0-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
13abb4c4bc2b9417060702f796dae8c245c489c97ee8d69e32b54f0aad606db0
|
|
BLAKE2b-256 checksum How to use checksums |
a75d7698f64f07703ea3f06163d703abceb83da433d04dbc79203d3f52ea410f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for maildiff 3.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.