Domanda

ho dovuto spostare il mio lavoro di Eclipse da Linux a Windows quando si è schiantato il mio desktop. Una settimana dopo ho copiarlo di nuovo a Linux, il codice felicemente, si impegnano a CVS. E, ahimè, a capo di Windows hanno inquinato molti file, in modo da CVS diff dump l'intero file, anche quando ho cambiato una riga o due!

ho potuto cucinare una sceneggiatura, ma mi chiedo se sarà rovinare i miei file di progetto Eclipse.

È stato utile?

Soluzione

Come accennato qui e qui :

  

Imposta codifica dei file per UTF-8 e line-terminazioni per i nuovi file per Unix, in modo che i file di testo vengono salvati in un formato che non è specifico per il sistema operativo Windows e il più facilmente condivisi su desktop developer eterogenei:

     
      
  • Accedere alle preferenze Workspace (Generale: Area di lavoro)
  •   
  • Cambiare la codifica dei file di testo per UTF-8
  •   
  • modificare il nuovo file di testo Linea delimitatore di Altro e scegliere Unix dalla pick-list
  •   

alt text

  
      
  • Nota: per convertire i fine riga di un file esistente, aprire il file in Eclipse e scegli File : Convert Line Delimiters to : Unix
  •   

Suggerimento : È possibile convertire facilmente file esistente selezionando quindi in Esplora pacchetto, e poi andare al menu di entrata File : Convert Line Delimiters to : Unix

Altri suggerimenti

Ho avuto lo stesso, Eclissi file inquinati anche con un cambio di linea. Soluzione: Eclipse impostazioni git -> Add Entry: Legenda: core.autocrlf Valori: true

 entrare descrizione dell'immagine qui

 entrare descrizione dell'immagine qui

C'è un programma di utilità pratico bash - dos2unix - che è un convertitore di formato di file di testo DOS / MAC a UNIX, che se non è già installato sul vostro distro, dovrebbe essere in grado di essere facilmente installato tramite un gestore di pacchetti. dos2unix pagina man

In aggiunta alle soluzioni Eclipse e lo strumento di cui un'altra risposta , considerare flip . Può 'Flip' in entrambi i casi tra il normale e Windows interruzioni di linea, e fa le cose belle come preservare timestamp e altre statistiche del file.

È possibile usare in questo modo per risolvere il problema:

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

(ho messo in una clausola di ignorare la directory .git, nel caso in cui si utilizza git, ma dal momento della medaglia ignora i file binari per impostazione predefinita, potrebbe non essere necessario questo.)

Si potrebbe fare un tentativo. Il problema è che Windows inserisce un ritorno e un avanzamento riga quando somministrato una nuova linea. Unix-sistemi basta inserire un avanzamento riga. Così il carattere aggiuntivo di ritorno a capo potrebbe essere il motivo per cui il vostro eclissi scombina con le nuove righe.

Prendete uno o due file dal vostro progetto e convertirli. Si potrebbe utilizzare Notepad ++ per farlo. Basta aprire il file, andare a Formato-> Converti in Unix (quando si utilizza Windows).

In Linux basta provare questo su una riga di comando:

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

Per rimuovere in modo ricorsivo i ritorni a capo (\r) dalle / * file CVS in tutte le directory figlio, eseguire il seguente in una shell UNIX:

find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top