O que exatamente significa a palavra patch quer dizer quando se refere a 'submeter um patch'?

StackOverflow https://stackoverflow.com/questions/184272

Pergunta

O que faz exatamente a média de patch palavra quando se refere a 'submeter um patch'?

Eu vi isso muito utilizada, especialmente no mundo open source. O que significa eo que exatamente está envolvido na apresentação de um patch?

Foi útil?

Solução

É um arquivo com uma lista de diferenças entre os arquivos de código que foram alterados. É geralmente no formato gerado pelo fazendo um diff -u nos dois arquivos. A maioria dos sistemas de controle de versão permite a fácil criação de manchas, mas é geralmente no mesmo formato.

Isto permite que a mudança do código para ser facilmente aplicada a outra pessoa cópia do código-fonte usando o comando patch.

Por exemplo:

Vamos dizer que eu tenho o seguinte código:

<?php
  $foo = 0;
?>

e eu mudá-lo para o seguinte:

<?php
  $bar = 0;
?>

O arquivo de correção pode ter esta aparência:

Index: test.php
===================================================================
--- test.php    (revision 40)
+++ test.php    (working copy)
@@ -3,7 +3,7 @@
         <?php
-            $foo = 0;
+            $bar= 0;
         ?>

Outras dicas

Richard Jones, um desenvolvedor da Red Hat, tem um pouco agradável cartilha em submeter código para projetos de código aberto que cobre fazendo e enviar patches.

Um patch é geralmente um arquivo que contém informações como alterar alguma coisa (muitas vezes para corrigir um bug, mas também poderia ser um acessório). Existem diferentes tipos de patches.

Um patch código fonte contém informações como um ou vários arquivos de código fonte precisa ser modificado. Você pode facilmente gerar-los usando o diff comando e você pode aplicá-los usando o remendo comando (em sistemas Linux / UNIX estes comandos são padrão).

No entanto, também existem manchas binários. Um patch binário contém informações como certos bytes dentro de uma necessidade binário a ser alterado. remendos binários são, naturalmente, raro no mundo Open Source, mas nos primeiros dias de computadores que os vi um monte de modificar binários enviados (geralmente para o trabalho em torno de um bug).

Submeter um meio de patch você fixos localmente alguma coisa e agora você enviar o arquivo para alguém, para que ele possa aplicar esse patch para sua cópia local ou para uma cópia público na web, assim, outros usuários podem se beneficiar da correção.

Os patches são também muitas vezes usado se você tem algum código fonte que quase compila em uma determinada plataforma, mas algumas pequenas mudanças são necessárias para realmente tê-lo compilar lá. Claro que você poderia tomar a fonte, modificá-lo e oferecer o código modificado para download. Mas e se a fonte original muda novamente (por exemplo, erros são corrigidos ou foram adicionadas pequenas melhorias)? Então você tinha que baixar novamente a fonte, aplicar as alterações novamente e oferecer a nova versão modificada. É um monte de trabalho para manter sua fonte modificado up-to-date. Em vez de modificar, você cria um diff entre o original e sua cópia modificada e armazená-lo em seu servidor. Se agora um usuário quer baixar e compilar o aplicativo a partir da fonte, ele pode primeiro fazer o download da versão mais recente e maior da fonte original, em seguida, aplicar o patch (por isso vai compilar) e tem sempre a versão mais recente, sem a necessidade de mudança o remendo. Um problema só surgirá se a fonte original foi alterado exatamente em um dos lugares seus modifica remendo. Neste caso, o sistema irá recusar-se a aplicar o patch e um novo necessidades de correção a ser feita.

Um patch é um arquivo que contém todas as informações necessárias para transformar a árvore fonte do mantenedor em sua própria. É geralmente criado por ferramentas como diff ou svn diff ou git format-patch.

Tradicionalmente, projetos open-source aceitar envios de schlubs normais na forma de correções para que eles não tem que dar outros cometem acesso aos seus repositórios.

Um patch, usualmente na forma de um arquivo .patch, é um formato de arquivo plano comum para transmitir as diferenças entre dois conjuntos de arquivos de código. Então, se você está trabalhando em um projeto open source, e alterações de código make a arquivos, e deseja enviar isso para o dono do projeto para ser verificados em (normalmente porque você não tem direitos checkin), você iria fazê-lo através de um patch .

WinMerge tem essa funcionalidade incorporada, assim como muitas outras ferramentas como TortoiseSVN.

Um arquivo de patch representa a diferença entre a fonte e origem que tenha modificado existente. É o principal meio de adição de recursos ou corrigir bugs em muitos projetos.

Você cria um patch usando o comando diff (por exemplo).

Você pode então enviar este patch para a lista de discussão de desenvolvimento e se ele recebeu bem, então um committer irá aplicar o patch (assim aplicar automaticamente as alterações) e comprometer o código.

remendos são aplicados utilizando o comando remendo.

Geralmente isso implica a apresentação de um arquivo diff unificado com o conjunto de alterações agregado para um recurso. Você pode ler mais sobre manchas na Wikipedia . sistemas vários de controle de versão (SVN, Git, etc.) irá criar um arquivo de patch para você com base em um conjunto de alterações.

 1. n. A temporary addition to a piece of code, usually as a quick-and-dirty

remédio a um bug ou misfeature existente. Um emplastro pode ou não funcionar, e pode ou não pode eventualmente, ser incorporado permanentemente no programa. Distinguido de um diff ou mod pelo facto de que um adesivo é gerado por meios mais primitivos do que o resto do programa; os exemplos clássicos são instruções modificadas usando a frente painel muda, e as alterações feitas directamente para o binário executável de um programa originalmente escrito em um HLL. Compare correção de uma linha.

Veja toda a definição no arquivo de jargões aqui

patch também é usado no ato de atualizar binários do sistema. Microsoft envia patches de todo o tempo, mas eles não são código-fonte. Eles são msp arquivos que instalam binários melhoradas. Tal como acontece com todos os termos de ciência da computação, remendo está sobrecarregado.

Eu sempre acreditei o termo significava uma correção de bug, como um remendo no joelho Mãe utilizado para colocar em seu jeans holey.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top