Pregunta

Me tuve que cambiar mi espacio de trabajo de Eclipse desde Linux a Windows cuando mi escritorio estrelló. Una semana más tarde me lo copie en Linux, de código felizmente, se comprometen a CVS. Y por desgracia, las nuevas líneas ventanas han contaminado muchos archivos, por lo que CVS diff descarga el archivo completo, incluso cuando he cambiado de una línea o dos!

Yo podría cocinar un guión, pero estoy preguntando si se hace un lío mis archivos de proyecto Eclipse.

¿Fue útil?

Solución

Como se mencionó aquí y aquí :

  

Configurar la codificación de archivos para UTF-8 y el fin de línea para los nuevos archivos en Unix, por lo que los archivos de texto se guardan en un formato que no es específico para el sistema operativo Windows y más fácilmente compartida en sistemas de escritorio para desarrolladores heterogéneos:

     
      
  • Vaya a las preferencias de espacio de trabajo (General: Espacio de trabajo)
  •   
  • cambiar la codificación de archivos de texto a UTF-8
  •   
  • Cambiar el nuevo archivo de texto Delimitador de línea a otro y elegir Unix desde la lista de selección
  •   

text alt

  
      
  • Nota: para convertir los finales de línea de un archivo existente, abra el archivo en Eclipse y selecciona File : Convert Line Delimiters to : Unix
  •   

Consejo : Se puede convertir fácilmente archivos existente seleccionando a continuación, en el Explorador de paquetes, y luego ir a la entrada File : Convert Line Delimiters to : Unix menú

Otros consejos

Yo tenía el mismo, Eclipse archivos contaminados, incluso con un cambio de línea. Solución: Eclipse configuración de Git -> Añadir entrada: Clave: core.autocrlf Valores: true

 introducir descripción de la imagen aquí

 introducir descripción de la imagen aquí

Hay una utilidad práctica fiesta - dos2unix - que es un conversor de formatos de DOS / MAC para UNIX archivo de texto, que si no está ya instalado en su distribución, debe ser capaz de ser instalado fácilmente a través de un gestor de paquetes. dos2unix página del manual

Además de las soluciones de Eclipse y la herramienta se menciona en otra respuesta , considere flip . Se puede 'flip' en ambos sentidos entre los saltos de línea normales y Windows, y hace cosas agradables como preservar la indicación de la hora y otras estadísticas del archivo.

Puede utilizar de esta manera a resolver su problema:

find . -type f -not -path './.git/*' -exec flip -u {} \;

(pongo en una cláusula de ignorar el directorio .git, en caso de usar git, pero desde flip omite los archivos binarios de forma predeterminada, puede que no necesite esto.)

Se podría darle una oportunidad. 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. Unix-sistemas simplemente insertar un avance de línea. Por lo que el carácter de retorno de carro adicional podría ser la razón por la cual el Eclipse meta la pata con los saltos de línea.

Coge uno o dos archivos de su proyecto y convertirlos. Se podría utilizar Notepad ++ para hacerlo. Sólo tiene que abrir el archivo, vaya a Formato> Convertir a Unix (cuando se utiliza ventanas).

En Linux sólo tratar esto en una línea de comandos:

sed 's/$'"/`echo \\\r`/" yourfile.java > output.java

Para eliminar de forma recursiva los retornos de carro (\r) de los CVS / * archivos en todos los directorios secundarios, ejecute lo siguiente en un shell de UNIX:

find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top