Preciso modificar fontes sob o controle de versão do Git. As fontes são arquivos de projeto do Visual Studio, o que os torna nativos da Microsoft. Quero evitar problemas de espaço em branco, incluindo jogos de final de linha.
Eu olhei para os arquivos antes da modificação no emacs, e o ^M
claramente não estava presente.
Em seguida, executei o seguinte a partir de um script de uma máquina Linux:
sed -i 's/odbc32.lib //g' *.vcproj
sed -i 's/odbccp32.lib //g' *.vcproj
Quando olho para as mudanças:
$ git diff cryptest.vcproj
diff --git a/cryptest.vcproj b/cryptest.vcproj
index cec447d..9ae71ea 100644
--- a/cryptest.vcproj
+++ b/cryptest.vcproj
@@ -76,7 +76,7 @@
...
Name="VCLinkerTool"
- AdditionalDependencies="odbc32.lib odbccp32.lib Ws2_32.lib"
+ AdditionalDependencies="Ws2_32.lib"^M
SuppressStartupBanner="true"
...
Como executo uma substituição sem adicionar espaços em branco externos?
git config core.eol
git config core.autocrlf
find . -name .gitattributes -o -name attributes
e se eles mostrarem alguma coisa, adicione os resultados à sua pergunta. Além disso,cat -vet cryptest.vcproj
antes da edição mostra as terminações de linha como 3 caracteres^M$
em todas as linhas, apenas algumas ou nenhuma.