Eu tive que mover meu espaço de trabalho do Eclipse do Linux para o Windows quando minha área de trabalho travou. Uma semana depois, copio-o de volta para o Linux, codifico com alegria, comprometo-me com o CVS. E, infelizmente, as novas linhas do Windows poluíram muitos arquivos, então o CVS diff despeja o arquivo inteiro, mesmo quando eu mudei uma linha ou duas!
Eu poderia preparar um script, mas estou imaginando se ele atrapalhará meus arquivos de projeto do Eclipse.
Respostas:
Como mencionado aqui e aqui :
Dica : Você pode converter facilmente o arquivo existente selecionando, em seguida, no Package Explorer e depois indo para a entrada do menu
File : Convert Line Delimiters to : Unix
fonte
File : Convert Line Delimiters to : Unix
comando para "corrigir" todos os arquivos no projeto de uma só vez.Eu tinha os mesmos arquivos poluídos do eclipse, mesmo com uma alteração de linha. Solução: Configurações do git do Eclipse -> Incluir Entrada: Chave: core.autocrlf Valores: true
fonte
Existe um útil utilitário bash -
dos2unix
- que é um conversor de formato de arquivo de texto DOS / MAC para UNIX, que, se ainda não estiver instalado na sua distribuição, poderá ser facilmente instalado através de um gerenciador de pacotes. Página de manual dos2unixfonte
Além das soluções Eclipse e da ferramenta mencionada em outra resposta , considere virar . Ele pode "alternar" entre as quebras de linha normais e do Windows, e faz coisas boas, como preservar o carimbo de data e hora do arquivo e outras estatísticas.
Você pode usá-lo assim para resolver seu problema:
(Eu incluí uma cláusula para ignorar o diretório .git, caso você use o git, mas como o flip ignora os arquivos binários por padrão, talvez você não precise disso.)
fonte
find
não funciona dessa maneira.Você poderia tentar. O problema é que o Windows insere um retorno de carro e um avanço de linha quando recebe uma nova linha. Os sistemas Unix apenas inserem um avanço de linha. Portanto, o caractere extra de retorno de carro pode ser o motivo pelo qual o eclipse atrapalha as novas linhas.
Pegue um ou dois arquivos do seu projeto e converta-os. Você pode usar o Notepad ++ para fazer isso. Basta abrir o arquivo, vá em Formatar-> Converter em Unix (quando você estiver usando o Windows).
No Linux, tente isso em uma linha de comando:
fonte
sed -i 's/$`echo \\\r`//' yourfile.java
e automatizá-lofind . -name "*.java" -exec sed -i 's/$`echo \\\r`//' {} \;
Para remover recursivamente os retornos de carro (
\r
) dos arquivos CVS / * em todos os diretórios filhos, execute o seguinte em um shell unix:fonte