Skip to main content

No project description provided

Project description

Мне не хватало Conventional Commits с сообщениями на русском языке, поэтому я сделал вот это.

Сделано для [Commitizen на Python](https://github.com/commitizen-tools/commitizen). Не путать с [версией на JavaScript](https://github.com/commitizen/cz-cli), которая более популярна, но требует наличие package.json. Подробнее о различиях [здесь](https://commitizen-tools.github.io/commitizen/faq/#is-this-project-affiliated-with-the-commitizen-js-project).

Установить можно так: `bash pip install commitizen cz-ru `

О том как пользоваться можно почитать [здесь](https://commitizen-tools.github.io/commitizen/).

Структура идентична [конфигу cz_conventional_commits](https://github.com/commitizen-tools/commitizen/blob/master/commitizen/cz/conventional_commits/conventional_commits.py). Названия типов изменений вроде fix и feat решил оставить как есть. Это не так важно, плюс не ломает генерацию списков изменений.

Единственное отклонения от оригинала, которое я себе позволил, и из-за которого вам этот конфиг может не подойти:

### Использование неопределённо-личной формы вместо повелительной

На английском всю жизнь была традиция писать в коммитах глаголы повелительного наклонения настоящего времени, по типу update README.md. Официальная документация Git [объясняет это](https://git-scm.com/docs/SubmittingPatches#imperative-mood) тем, что вы как будто даёте приказы кодовой базе изменить своё поведение. Мол, “кодовая база, обнови README.md”. В русском языке более подходящий аналог этому - инфинитив: обновить README.md.

Как по мне, для русского языка такой вариант звучит неестественно. Вместо отдачи приказов язык тянется описать, что произошло.

Есть вариант убрать глаголы вовсе и писать обновление README.md. Вариант на самом деле отличный, но я решил использовать другой вариант, к которому я тяготею сильнее:

Неопределённо-личные предложения. Как по мне, обновлён README.md звучит натуральнее всего. Либо я предвзят потому что все мои коллеги используют именно такой вариант. Но это уже не важно.

Именно что неопределённо-личные. обновил README.md уводит внимание с субъекта изменений на автора, а у авторов разного пола глагол будет лишний раз менять род (обновил или обновила - должно быть не важно). Поэтому стоит оставлять предложения обезличенными, чтобы писать что сделано с чем.

Раз мы обращаемся глаголами к вещам из кода, надо сообразить какой у них род. У меня конвенция проста - использовать род того, чем вещь является: обновлён (файл) README.md, переименована (переменная) counter, удалён (класс) Article, исправлена (функция) runServer, и тому подобное.

### А это вообще важно? Важно - выбрать один стиль для всех и стабильно ему следовать. А какой именно - дело ваше.

Предоставленная здесь конвенция и форма глаголов - просто одна из кучи опций, которую так вышло что я полюбил и решил написать конфиг.

Если вы несогласны с ней, написать свой собственный конфиг очень легко. Подробнее про кастомизацию [здесь](https://commitizen-tools.github.io/commitizen/customization/). Обязательно опубликуйте его, больше выбора не повредит.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cz_ru-0.1.2.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

cz_ru-0.1.2-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file cz_ru-0.1.2.tar.gz.

File metadata

  • Download URL: cz_ru-0.1.2.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for cz_ru-0.1.2.tar.gz
Algorithm Hash digest
SHA256 76eec636d6323ee4f8236ddabe14ed9484d27bc8eb6082eedd8269b1038149d0
MD5 e251c2ef0b1d95685e2597cc4e64cfef
BLAKE2b-256 b1fee6e4bdd188a0e1d6c8b3649ba3c679a18319ede398d8754e46788fb87976

See more details on using hashes here.

File details

Details for the file cz_ru-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: cz_ru-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for cz_ru-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5b888027a8b7cfe44f7032d2ca12c9ff15f03d22103688b8cce6dc1327491fec
MD5 7d3db7eb0869459b00b54489eac83498
BLAKE2b-256 46fe8cc5ad173f6172616f968c9108c36da38515457f034752f3a7936381430a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page