Question

Je devais passer mon espace de travail Eclipse de Linux à Windows lorsque mon bureau est écrasé. Une semaine plus tard, je le copier de nouveau à Linux, le code heureusement, engager à CVS. Et hélas, les nouvelles lignes de fenêtres ont pollué de nombreux fichiers, de sorte que CVS diff dumps le fichier entier, même quand j'ai changé une ligne ou deux!

Je pourrais concocter un script, mais je me demande si elle va gâcher mes fichiers de projet Eclipse.

Était-ce utile?

La solution

Comme mentionné et ici :

  

Définir le codage de fichiers à UTF-8 et fins de ligne pour les nouveaux fichiers à Unix, de sorte que les fichiers texte sont enregistrés dans un format non spécifique au système d'exploitation Windows et plus facilement partagés entre les bureaux de développement hétérogènes:

     
      
  • Naviguer aux préférences de l'espace de travail (Généralités: Espace de travail)
  •   
  • modifier le codage de fichier texte à UTF-8
  •   
  • Changer le nouveau fichier texte Ligne délimiteur Autres et choisissez Unix dans la liste de sélection
  •   

text alt

  
      
  • Remarque: pour convertir les fins de ligne d'un fichier existant, ouvrez le fichier dans Eclipse et choisissez File : Convert Line Delimiters to : Unix
  •   

Conseil : Vous pouvez facilement convertir le fichier existant en sélectionnant puis dans l'explorateur de paquet, puis allez à l'entrée de menu File : Convert Line Delimiters to : Unix

Autres conseils

J'ai eu la même, éclipse les fichiers pollués, même avec un seul changement de ligne. Solution: Eclipse paramètres git -> Ajouter entrée: Légende: core.autocrlf Valeurs: true

 ici

 ici

Il y a un utilitaire bash pratique - dos2unix - qui est un DOS / MAC convertisseur de format de fichier texte UNIX, que si pas déjà installé sur votre distro, devrait pouvoir être facilement installé via un gestionnaire de paquets. dos2unix page man

En plus des solutions Eclipse et l'outil mentionné dans une autre réponse , pensez Renverser . Il peut « flip » les deux sens entre les sauts de ligne normale et Windows, et fait de belles choses comme conserver l'horodatage du fichier et autres statistiques.

Vous pouvez l'utiliser comme ceci pour résoudre votre problème:

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

(je mets dans une clause d'ignorer votre répertoire .git, dans le cas où vous utilisez git, mais puisque chiquenaude ignore les fichiers binaires par défaut, vous ne pouvez pas besoin de cela.)

Vous pouvez essayer. Le problème est que Windows insère un retour chariot ainsi qu'un saut de ligne quand donné une nouvelle ligne. Unix-systèmes Il suffit d'insérer un saut de ligne. Ainsi, le caractère supplémentaire de retour chariot pourrait être la raison pour laquelle votre éclipse bousille avec les nouvelles lignes.

Saisissez un ou deux fichiers de votre projet et de les convertir. Vous pouvez utiliser Notepad ++ pour le faire. Il suffit d'ouvrir le fichier, allez à FORMAT-> Convertir en Unix (lorsque vous utilisez Windows).

Linux juste essayer ceci sur une ligne de commande:

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

Pour supprimer récursive les retours chariot (de \r) à partir des fichiers CVS / * dans tous les répertoires enfants, exécutez la commande suivante dans un shell unix:

find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top