Tuve que mover mi espacio de trabajo de Eclipse de Linux a Windows cuando mi escritorio se bloqueó. Una semana después lo copio de nuevo a Linux, codigo felizmente, me comprometo con CVS. Y, por desgracia, las nuevas líneas de Windows han contaminado muchos archivos, por lo que CVS diff volca todo el archivo, ¡incluso cuando cambié una o dos líneas!
Podría preparar un script, pero me pregunto si arruinará mis archivos de proyecto de Eclipse.
Respuestas:
Como se menciona aquí y aquí :
Sugerencia : Puede convertir fácilmente el archivo existente seleccionando luego en el Explorador de paquetes y luego yendo a la entrada del menú
File : Convert Line Delimiters to : Unix
fuente
File : Convert Line Delimiters to : Unix
comando para "arreglar" todos los archivos del proyecto a la vez.Tenía los mismos archivos contaminados con eclipse incluso con un cambio de línea. Solución: configuración git de Eclipse -> Agregar entrada: Clave: core.autocrlf Valores: verdadero
fuente
Hay una práctica utilidad bash
dos2unix
, que es un convertidor de formato de archivo de texto de DOS / MAC a UNIX que, si aún no está instalado en su distribución, debería poder instalarse fácilmente a través de un administrador de paquetes. Página del manual de dos2unixfuente
Además de las soluciones Eclipse y la herramienta mencionada en otra respuesta , considere voltear . Puede 'cambiar' de cualquier manera entre los saltos de línea normales y de Windows, y hace cosas buenas como preservar la marca de tiempo del archivo y otras estadísticas.
Puede usarlo así para resolver su problema:
(Puse una cláusula para ignorar su directorio .git, en caso de que use git, pero dado que flip ignora los archivos binarios por defecto, es posible que no necesite esto).
fuente
find
no funciona de esta manera.Podrías intentarlo. El problema es que Windows inserta un retorno de carro, así como un avance de línea cuando se le da una nueva línea. Los sistemas Unix simplemente insertan un avance de línea. Entonces, el carácter de retorno de carro adicional podría ser la razón por la cual su eclipse se equivoca con las nuevas líneas.
Tome uno o dos archivos de su proyecto y conviértalos. Puede usar Notepad ++ para hacerlo. Simplemente abra el archivo, vaya a Formato-> Convertir a Unix (cuando esté usando Windows).
En Linux solo intente esto en una línea de comando:
fuente
sed -i 's/$`echo \\\r`//' yourfile.java
y para automatizarlofind . -name "*.java" -exec sed -i 's/$`echo \\\r`//' {} \;
Para eliminar recursivamente los retornos de carro (
\r
) de los archivos CVS / * en todos los directorios secundarios, ejecute lo siguiente en un shell de Unix:fuente