git apply
pode ser usado para isso. Não requer um repositório Git.
Eu preparei um "patch" para meu cliente, que precisará aplicá-lo manualmente ao código dele. Se o patch for aplicado parcialmente devido a conflitos, todo o procedimento precisará ser revertido imediatamente.
Gostaria de saber se existe um argumento ou um script pequeno que eu possa enviar para eles que executa o aplicativo de correção atômica.
Obrigado.
git apply
pode ser usado para isso. Não requer um repositório Git.
Eu não sei o que e quantos arquivos precisam ser corrigidos. Meu trabalho favorito seria:
faça uma cópia do projeto de trabalho e aplique o patch à cópia
o patch foi bem sucedido? a cópia funciona? em seguida, mova o projeto de trabalho para project.old e a cópia para projetar
Eu resolvi isso com o seguinte:
patch -f --dry-run < p && patch -f < p >/dev/null || echo "Failed to patch"
Se a aplicação do patch não for bem sucedida durante a execução a seco, ela não aplica nada e fornece ao usuário a saída que ele pode me enviar de volta.
Tags command-line patch linux unix