{ "info": { "author": "Prahlad Yeri", "author_email": "prahladyeri@yahoo.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "![pypi](https://img.shields.io/pypi/v/enforce-git-message.svg)\n![python](https://img.shields.io/pypi/pyversions/enforce-git-message.svg)\n![implementation](https://img.shields.io/pypi/implementation/enforce-git-message.svg)\n\n\n![license](https://img.shields.io/github/license/prahladyeri/enforce-git-message.svg)\n![last-commit](https://img.shields.io/github/last-commit/prahladyeri/enforce-git-message.svg)\n\n[![donate](https://img.shields.io/badge/-Donate-blue.svg?logo=paypal)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JM8FUXNFUK6EU)\n[![follow](https://img.shields.io/twitter/follow/prahladyeri.svg?style=social)](https://twitter.com/prahladyeri)\n# enforce-git-message\n\n![project logo](https://raw.githubusercontent.com/prahladyeri/enforce-git-message/master/logo.png)\n\nEnforces [conventional git commit messages](https://www.conventionalcommits.org/en/v1.0.0-beta.4/) for all new git repositories you create by running `git init`. For existing repositories, you can go to your source directory and simply run:\n\n\tenforce-git-message\n\nExamples of valid commit messages:\n\n```diff\n+ 61c8ca9 fix: navbar not responsive on mobile\n+ 479c48b test: prepared test cases for user authentication\n+ a992020 chore: moved to semantic versioning\n+ b818120 fix: button click even handler firing twice\n+ c6e9a97 fix: login page css\n+ dfdc715 feat(auth): added social login using twitter\n```\n\nExamples of invalid commit messages resulting in an error message:\n\n```diff\n- 61c8ca9 fix for navbar not responsive on mobile\n- 479c48b prepared test cases for user authentication\n- a992020 moved to semantic versioning\n- b818120 fixed button click even handler firing twice\n- c6e9a97 login page css fix\n- dfdc715 added social login auth feature using twitter\n```\n\n# Installation\n\n\tpip install enforce-git-message\n\t\n\t\n# Verifying\n\nGo to your source folder and try to commit with a non-conventional message like this and it should fail:\n\n\t> git commit -m \"added a new feature for xyz\"\n\t\n\tCOMMIT FAILED!\n\n\tPlease enter commit message in the conventional format and try to commit again. Examples:\n\n\t+ 61c8ca9 fix: navbar not responsive on mobile\n\t+ 479c48b test: prepared test cases for user authentication\n\t+ a992020 chore: moved to semantic versioning\n\t+ b818120 fix: button click even handler firing twice\n\t+ c6e9a97 fix: login page css\n\t+ dfdc715 feat(auth): added social login using twitter\n\t\nAfter that, try doing the commit with a valid message and it should work:\n\n\t> git commit -m \"feat(test): added xyz\"\n\t>\n\t\n# Notes\n\n[Read this article](https://prahladyeri.com/blog/2019/06/how-to-enforce-conventional-commit-messages-using-git-hooks.html) to fully understand how the enforcement actually works by using git hooks.\n\n# Attribution\n\n- *Tick Icon made by [smashicons](https://www.flaticon.com/authors/smashicons) from www.flaticon.com is licensed by [CC 3.0 BY](http://creativecommons.org/licenses/by/3.0/)*", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/prahladyeri/enforce-git-message", "keywords": "security,scanner", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "enforce-git-message", "package_url": "https://pypi.org/project/enforce-git-message/", "platform": "", "project_url": "https://pypi.org/project/enforce-git-message/", "project_urls": { "Homepage": "https://github.com/prahladyeri/enforce-git-message" }, "release_url": "https://pypi.org/project/enforce-git-message/1.0.1/", "requires_dist": null, "requires_python": ">= 3.4", "summary": "Enforces conventional git commit messages for git repositories", "version": "1.0.1" }, "last_serial": 5408296, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "bbe0c10b904b26dc806e3f8a05c086c3", "sha256": "f78cc4cb5cd5b37a2f703ee61e8b49b8dc97e3fed371e5551d02ced9c00fac32" }, "downloads": -1, "filename": "enforce-git-message-1.0.0.tar.gz", "has_sig": true, "md5_digest": "bbe0c10b904b26dc806e3f8a05c086c3", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 3295, "upload_time": "2019-06-15T11:13:56", "url": "https://files.pythonhosted.org/packages/c9/a6/14f380cef289dc3e177195209b5b64b8ecabeb594d16d4b28f71dc6e7793/enforce-git-message-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3f3c263f9076c5969c41c987948d0369", "sha256": "1fabdcf708c7e05bb7c1acdfd30eb518852be5ce16683a1962424cc565dcf960" }, "downloads": -1, "filename": "enforce-git-message-1.0.1.tar.gz", "has_sig": true, "md5_digest": "3f3c263f9076c5969c41c987948d0369", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 4100, "upload_time": "2019-06-17T03:28:41", "url": "https://files.pythonhosted.org/packages/30/d1/9dcc296e842f920aa44c6a42a80ee59cbb1be75d2f005da9edda12b4242e/enforce-git-message-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f3c263f9076c5969c41c987948d0369", "sha256": "1fabdcf708c7e05bb7c1acdfd30eb518852be5ce16683a1962424cc565dcf960" }, "downloads": -1, "filename": "enforce-git-message-1.0.1.tar.gz", "has_sig": true, "md5_digest": "3f3c263f9076c5969c41c987948d0369", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 4100, "upload_time": "2019-06-17T03:28:41", "url": "https://files.pythonhosted.org/packages/30/d1/9dcc296e842f920aa44c6a42a80ee59cbb1be75d2f005da9edda12b4242e/enforce-git-message-1.0.1.tar.gz" } ] }