fonte
fonte
A assinatura é um requisito para obter correções no kernel do Linux e em alguns outros projetos, mas a maioria dos projetos não o utiliza.
Foi introduzido na sequência do processo da SCO (e outras acusações de violação de direitos autorais da SCO , a maioria das quais eles nunca levaram a tribunal), como um Certificado de Origem para Desenvolvedores . Costuma-se dizer que você certifica que criou o patch em questão ou que, segundo o seu conhecimento, foi criado sob uma licença de código-fonte apropriado ou que foi fornecido a você por alguém mais sob esses termos. Isso pode ajudar a estabelecer uma cadeia de pessoas que assumem a responsabilidade pelo status de direitos autorais do código em questão, para ajudar a garantir que o código protegido por direitos autorais não liberado sob uma licença apropriada de software livre (código aberto) não seja incluído no kernel.
Signed-off-by:
linhas de mensagem de confirmação pelo projeto do kernel Linux (e pelo próprio projeto Git). Para outros projectos, no entanto, essas linhas não têm significado, a menos que os cessionários do projecto significado para eles (por exemplo, descrevendo-os na documentação do projecto; por exemplo, de Linux SubmittingPatches ou de Git SubmittingPatches ).A assinatura é uma linha no final da mensagem de confirmação que certifica quem é o autor da confirmação. Seu principal objetivo é melhorar o rastreamento de quem fez o que, especialmente com patches.
Exemplo de confirmação:
Ele deve conter o nome real do usuário, se usado para um projeto de código aberto.
Se o mantenedor da ramificação precisar modificar levemente as correções para mesclá-las, ele poderá solicitar que o remetente faça o rediff, mas isso seria contraproducente. Ele pode ajustar o código e encerrar sua assinatura no final para que o autor original ainda receba o crédito pelo patch.
Fonte: http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html
fonte
author
campo de um commit do git? Eu sempre pensei que era por isso que havia um campoauthor
e umcommitter
campo separados . O autor é o autor do patch e o committer é o cara que aplicou e empurrou o patch.O git 2.7.1 (fevereiro de 2016) esclarece que no commit b2c150d (05 de janeiro de 2016) por David A. Wheeler (
david-a-wheeler
) .(Mesclado por Junio C Hamano -
gitster
- no commit 7aae9ba , 05 de fevereiro de 2016)git commit
A página de manual agora inclui:Observe que agora esta aprovação (para o Git 2.15.x / 2.16, primeiro trimestre de 2018) também está disponível
git pull
.Veja commit 3a4d2c7 (12 de outubro de 2017) por W. Trevor King (
wking
) .(Mesclado por Junio C Hamano -
gitster
- in commit fb4cd88 , 06 de novembro de 2017)fonte
Existem algumas respostas legais sobre esta questão. Tentarei adicionar uma resposta mais ampla, a saber, sobre o que são esses tipos de linhas / cabeçalhos / trailers na prática atual. Não tanto sobre o cabeçalho de assinatura em particular (não é o único).
Cabeçalhos ou trailers (↑ 1) como "logoff" (↑ 2) são, na prática atual em projetos como Git e Linux, metadados efetivamente estruturados para o commit. Tudo isso é anexado ao final da mensagem de confirmação, após a parte "forma livre" (não estruturada) do corpo da mensagem. Estes são pares de valor de token (ou valor-chave ) normalmente delimitados por dois pontos e um espaço (
:␣
).Como mencionei, “assinar” não é o único trailer na prática atual. Veja, por exemplo, este commit , que tem a ver com "Dirty Cow":
Além do trailer "assinar" acima, há:
Outros projetos, como, por exemplo, a Gerrit, têm cabeçalhos próprios e significado associado a eles.
Veja: https://git.wiki.kernel.org/index.php/CommitMessageConventions
Moral da história
Tenho a impressão de que, embora a motivação inicial para esses metadados específicos tenha sido algumas questões legais (a julgar pelas outras respostas), a prática desses metadados progrediu além de apenas lidar com o caso de formar uma cadeia de autoria.
[↑ 1]:
man git-interpret-trailers
[↑ 2]: Eles também são chamados de "sob" (iniciais), ao que parece.
fonte