umpf é uma ferramenta que ajuda a gerenciar ramificações git e combiná-las em uma versão de software. Ele pode criar tags e exportar as alterações como uma pilha de patches. umpf foi originalmente projetado para o kernel Linux, mas também pode ser usado para outros projetos.
Existem vários motivos pelos quais os commits são divididos em vários ramos:
Portanto, trabalhar com várias filiais facilita o manuseio de patches e o desenvolvimento posterior. Mas combinar essas ramificações em um lançamento pode ser entediante e sujeito a erros.
É aqui que entra o umpf. Ele automatiza o processo de criação de releases. Ele cria tags de forma reproduzível. E pode criar séries de patches a partir dessas tags.
umpf é um script bash, portanto nenhuma instalação é necessária. São necessárias apenas algumas ferramentas de linha de comando, como sed, grep e, claro, git.
Para ativar a conclusão do bash, certifique-se de que umpf esteja em seu $PATH
e então:
$ mkdir -p ~/.local/share/bash-completion/completions $ ln -s /caminho/para/umpf/bash_completion ~/.local/share/bash-completion/completions/umpf
umpf -h
fornece uma descrição básica dos argumentos da linha de comando. Mais detalhes sobre umpf podem ser encontrados na documentação.
Para contribuir com o umpf, prepare uma solicitação pull no Github. Para que seja possível incluir suas modificações, é necessário que suas adições de código sejam licenciadas sob os mesmos termos do próprio umpf. Portanto, você é obrigado a concordar com o seguinte documento:
Certificado de Origem do Desenvolvedor 1.1
Ao contribuir para este projeto, certifico que:
- A contribuição foi criada total ou parcialmente por mim e tenho o direito de submetê-la sob a licença de código aberto indicada no arquivo; ou
- A contribuição é baseada em trabalho anterior que, até onde sei, está coberto por uma licença de código aberto apropriada e tenho o direito, sob essa licença, de enviar esse trabalho com modificações, sejam elas criadas no todo ou em parte por mim, sob a mesma licença de código aberto (a menos que eu tenha permissão para enviar sob uma licença diferente), conforme indicado no arquivo; ou
- A contribuição foi fornecida diretamente a mim por outra pessoa que certificou (a), (b) ou (c) e eu não a modifiquei.
- Entendo e concordo que este projeto e a contribuição são públicos e que um registro da contribuição (incluindo todas as informações pessoais que envio junto com ele, incluindo minha assinatura) é mantido indefinidamente e pode ser redistribuído de forma consistente com este projeto ou com o código aberto licença(s) envolvida(s).
Seu acordo é expresso adicionando uma linha de assinatura a cada um dos seus commits (por exemplo, usando git commit -s
) da seguinte forma:
Assinado por: Random J Developer <[email protected]>
com sua identidade e endereço de e-mail correspondentes aos metadados do commit.