umpf — это инструмент, который помогает вам управлять ветвями git и объединять их в выпуск программного обеспечения. Он может создавать теги и экспортировать изменения в виде стека патчей. umpf изначально был разработан для ядра Linux, но его можно использовать и в других проектах.
Есть несколько причин, по которым коммиты разбиваются на несколько веток:
Таким образом, работа с несколькими ветками упрощает обработку исправлений и дальнейшую разработку. Но объединение этих веток в релиз может оказаться утомительным и чреваты ошибками.
Здесь на помощь приходит umpf. Он автоматизирует процесс создания релизов. Он создает теги воспроизводимым способом. И он может создавать серии патчей из этих тегов.
umpf — это сценарий bash, поэтому установка не требуется. Для этого просто нужно несколько инструментов командной строки, таких как sed, grep и, конечно же, git.
Чтобы включить завершение bash, убедитесь, что umpf находится в вашей $PATH
, затем:
$ mkdir -p ~/.local/share/bash-completion/completions $ ln -s /path/to/umpf/bash_completion ~/.local/share/bash-completion/completions/umpf
umpf -h
дает базовое описание аргументов командной строки. Более подробную информацию о umpf можно найти в документации.
Чтобы внести свой вклад в umpf, подготовьте запрос на включение на Github. Чтобы сделать возможным включение ваших модификаций, необходимо, чтобы ваши дополнения к коду были лицензированы на тех же условиях, что и сам umpf. Итак, вам необходимо согласиться со следующим документом:
Сертификат происхождения разработчика 1.1
Внося свой вклад в данный проект, я подтверждаю, что:
- Вклад был создан полностью или частично мной, и я имею право представить его под лицензией открытого исходного кода, указанной в файле; или
- Вклад основан на предыдущей работе, которая, насколько мне известно, подпадает под соответствующую лицензию с открытым исходным кодом, и в соответствии с этой лицензией я имею право представить эту работу с изменениями, независимо от того, созданы ли они полностью или частично мной, согласно ту же лицензию с открытым исходным кодом (если мне не разрешено отправлять по другой лицензии), как указано в файле; или
- Вклад был предоставлен непосредственно мне каким-то другим человеком, который подтвердил (a), (b) или (c), и я не изменил его.
- Я понимаю и соглашаюсь с тем, что этот проект и вклад являются общедоступными и что запись о вкладе (включая всю личную информацию, которую я отправляю вместе с ним, включая мое согласие) сохраняется на неопределенный срок и может распространяться в соответствии с этим проектом или открытым исходным кодом. задействованная лицензия(и).
Ваше согласие выражается добавлением строки подтверждения к каждому из ваших коммитов (например, с помощью git commit -s
), которая выглядит следующим образом:
Подписано: Random J Developer <[email protected]>
с вашей личностью и адресом электронной почты, совпадающими с метаданными фиксации.