Estou editando alguns arquivos markdown de um repositório remoto clonado e queria testar a criação e aplicação de patches de um branch para outro. No entanto, sempre que faço qualquer alteração, recebo a seguinte mensagem durante git apply
:
0001-b.patch:16: trailing whitespace.
warning: 1 line adds whitespace errors.
(Isso está acontecendo no meu Mac e não sei onde o código original foi criado.)
O que significa a mensagem de aviso e preciso me preocupar?
git
whitespace
patch
git-patch
Yarin
fonte
fonte
Respostas:
Você não precisa se preocupar.
O aviso estabelece um padrão de limpeza de arquivos de texto em relação aos espaços em branco, o tipo de coisa com a qual muitos programadores tendem a se preocupar. Como o manual explica:
Portanto, o "erro" significa que a alteração introduz um espaço em branco à direita, uma linha apenas de espaço em branco ou um espaço que precede uma tabulação. Além desse fato, não há nada de errado com a mudança e ela será aplicada de forma limpa e correta. Em outras palavras, se você não se importa com o espaço em branco "incorreto", fique à vontade para ignorar o aviso ou desligá-lo com
git config apply.whitespace nowarn
.fonte
git show
- se seu git fizer cores, você verá o ofensivo espaço em branco aparecer em um vermelho raivoso. Além disso,git show --word-diff
mostrará não apenas a mudança de linha, mas inserções no meio da linha, o que deve mostrar se o patch realmente adiciona apenas uma palavra no meio ou se também adiciona um espaço em branco à direita.Um caso em que você poderia se importar legitimamente é quando deseja diferenciar entre o erro de espaço em branco "antigo" (que você pode querer manter por motivos de legado) e os erros de espaço em branco "novos" (que você deseja evitar).
Para esse efeito, Git 2.5+ (Q2 2015) irá propor uma opção mais específica para a detecção de espaços em branco.
Consulte os commits 0e383e1 , 0ad782f e d55ef3e [26 de maio de 2015] por Junio C Hamano (
gitster
) .(Fundido pela Junio no commit 709cd91 , 11 de junho de 2015)
A documentação agora inclui :
Por exemplo, o commit antigo tinha um erro de espaço em branco (
bbb
), mas você pode se concentrar apenas nos novos erros (no final destill bbb
eccc
):(teste feito depois
t/t4015-diff-whitespace.sh
)Com o Git 2.26 (Q1 2020), a
diff-*
família de subcomandos de encanamento agora presta atenção àdiff.wsErrorHighlight
configuração, que foi ignorada antes; isso permite "git add -p
" também mostrar os problemas de espaço em branco ao usuário final.Veja o commit da80635 (31 de janeiro de 2020) de Jeff King (
peff
) .(Fundido por Junio C Hamano -
gitster
- no commit df04a31 , 14 de fevereiro de 2020)fonte
O erro de espaço em branco com imagens visuais é mostrado aqui.
http://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines
fonte
Porque linha começando com
TAB
istead ofSPACE
. Vá para o arquivo de patch e substituaTAB
porSPACE
. Por exemplo, no vim on line + do arquivo de patch digite x para remover o espaço e não remover o sinal + e inserir o espaço (CTRL) no eqiv para o tamanho original.fonte