Guia do Linux/Iniciante+Intermediário/Comandos diversos/patch

Origem: Wikilivros, livros abertos por um mundo aberto.

patch[editar | editar código-fonte]

Atualiza arquivos texto através das diferenças geradas pelo comando diff.

patch [opções] [arquivo.diff] ou patch [opções] < [arquivo.diff]

Onde:

arquivo.diff
Arquivo contendo as diferenças geradas pelo comando diff.
opções
-p [num]
Ní­vel do diretório onde o patch será aplicado, se igual a 0, o patch assume que os arquivos que serão atualizados estão no diretório atual, se 1, assume que os arquivos que serão atualizado estão no diretório acima (..), se 2, 2 diretórios acima ...
-b
Cria cópias de segurança dos arquivos originais ao aplica o patch.
-binary
Lê e grava arquivo usando modo binário.
-d [dir]
Muda para o diretório [dir] antes de aplica o patch.
-E
Remove arquivos vazios após a aplicação do patch.
-n
Interpreta o arquivo de patch como um .diff normal.
-N
Não desfaz patches já aplicados.
-s
Não mostra mensagens de erro.
-u
Interpreta o patch em formato unificado.

As diferenças são aplicadas em arquivos originais gerados pelo comando diff. É importante entender os comandos patch e diff pois são comandos muito utilizados para desenvolvimento feito por equipes de pessoas.

Exemplo:

  • patch -p0<texto.diff - Aplica as diferenças contidas no arquivo texto.diff nos arquivos originais.
  • patch -p0 texto.txt texto.diff - Aplica as diferenças contidas no arquivo texto.diff nos arquivos originais. Faz a mesma coisa que o comando anterior.