it-swarm.com.de

Wie soll ich den "svn: inkonsistenten Linienendstil" beheben?

Wenn ich "svn propedit svn: ignore" starte Im Stammverzeichnis meines svn-Repositorys erhalte ich folgende Fehlermeldung: svn: Inkonsistenter Zeilenendstil

Ich habe versucht, dieses Skript auszuführen: http://blog.eflow.org/archives/130 das DOS2unix ausführt und den EOL-Stil für alle Dateien festlegt, dieses Problem bleibt jedoch bestehen. Irgendeine Idee, was könnte falsch sein?

37
Kelvin

Subversion beschwert sich nicht über den Inhalt einer Datei, sondern über den Inhalt der Eigenschaft svn: ignore. Um dies zu beheben, können Sie einfach die svn:ignore-Eigenschaft mit svn propdel löschen und anschließend neu erstellen. 

Ein anderer Weg, der möglicherweise einfacher ist, wenn Sie viele Zeilen in Ihrem svn:ignore haben:

  1. holen Sie den Wert von svn: ignore in einer temporären .__-Datei wie folgt:

    svn propget svn:ignore . > temp

  2. korrigieren Sie die Zeilenenden in der Datei temp.__
  3. setzen Sie den Wert von svn: ignore aus der festen Datei wie

    svn propset svn:ignore -F temp .

17
Wim Coenen

In meinem Fall wurde die svn:eol-style-Eigenschaft für eine Datei festgelegt .. und. "Einige Zeilen der Datei wurden durch UNIX-Zeilenenden (LF-Zeichen) getrennt, während andere durch DOS-Zeilenenden (CR + LF-Zeichen) getrennt wurden" . Hier ist eine weitere ausführliche Diskussion dieses Problems.
"Edit"->"EOL Conversion"->"Windows format" in Notepad ++ hat das Problem für mich gelöst.

39
evgeny9

In meinem Fall habe ich in Windows bearbeitet.

  1. Öffnen Sie die Datei in Notepad ++
  2. Zeilenende in Unix konvertieren (Menü Bearbeiten -> EOL-Konvertierung -> Unix)
  3. Sparen
  4. Zeilenenden nach Windows konvertieren (Menü Bearbeiten -> EOL-Konvertierung -> Windows)
  5. Sparen

Das hat es geschafft.

25
Marius Matioc

Laufen 

unix2dos [file]

via cygwin hat das für mich behoben.

8
gollumullog

Mein Problem war, dass ich dies in Visual Studio.NET bekam. Um dies zu beheben, kopierte ich den gesamten Text der Datei in den Editor und speicherte ihn aus dem Editor in "xxx.aspx" oder wie auch immer der richtige Dateiname lautet. In Visual Studio wurde ich dann aufgefordert, eine geänderte Datei erneut zu laden, und voila - ein Dialogfeld, in dem ich gefragt wird, ob ich meine Zeilenenden normalisieren möchte. Problem gelöst.

4
Amos Van Horn

Wenn dies nur bei einer oder zwei Dateien der Fall ist, können Sie die Datei auch öffnen, den Inhalt kopieren und in eine neue Datei einfügen (mit einem normalen Texteditor) und speichern. Diese Datei kann dann hinzugefügt werden (umbenennen oder verschieben, um den richtigen Namen zu erhalten).

Ich habe diesen Fehler erhalten, aber es war eine Datei, die das letzte Ende der Lüge (unvollständige letzte Zeile) fehlte.

Wenn Sie dies korrigieren, indem Sie die Datei in VI öffnen und speichern, wurde sie gelöst.

1
Geir Engebakekn

vi hat mir die fehlerhafte Zeile nicht angezeigt, also habe ich das Zeilenende aus dem Kommentarbereich entfernt, gelesen (bis zum Ende) und die Datei gespeichert. danach hat es funktioniert.

HINWEIS: Sichern Sie die revprop-Datei, bevor Sie sie anpassen. Wenn Sie es rasen, kein Zurück

1
Isaac

Berührte das Skript definitiv jede einzelne Textdatei (vorausgesetzt, Sie haben dos2unix installiert, sonst wäre das der Grund dafür ...)?

Die anderen Dinge, die ich mir vorstellen kann, sind zu überprüfen, ob der MIME-Typ aller Dateien korrekt eingestellt ist (Sie haben keine Binärdatei, die irgendwie als eingecheckte Textdatei markiert ist, Perchance?).

Wenn Sie sich jedoch in einer Umgebung mit mehreren Betriebssystemen befinden, halte ich es nicht für eine gute Idee, svn: eol-style auf CRLF zu setzen, wie oben im Blog-Beitrag beschrieben. if Sie teilen und bearbeiten Textdateien zwischen Betriebssystemen. Wenn Sie dies auf diese Weise tun, werden die Dateien, die in Windows in Ordnung aussehen, mit Steuerzeichen in Unix übersät. Besser "native" als EOL-Stil verwenden.

1
Timo Geusch

Ich habe die gleiche Fehlermeldung erhalten, als ich versuchte, eine PHP -Datei in emacs zu svn propset eol-style:native zu machen. Hoffentlich hilft dies jemandem, der diese Frage erreicht.

Ich hatte so etwas wie das Folgende:

str_replace('</li>^M<br>', '</li>', $text);

Dabei ist ^M ein einzelnes Zeichen (Caret-Escape für Carriage Return).

Die Lösung bestand darin, diese Zeile in das Äquivalent zu ändern:

str_replace("</li>\r<br>", '</li>', $text);

Beachten Sie die doppelten Anführungszeichen anstelle der einfachen Anführungszeichen!

0
EoghanM

Wenn Sie es während der Ausführung des Vorschlags erhalten, scheint mir eher, dass SVN sich über das Format der Textdatei beschwert, die Sie für die Eigenschaften verwenden.

Auf welchem ​​Betriebssystem bist du? Welchen Editor verwenden Sie zur Propeditierung? Wenn der propedit-Befehl immer noch einen Editor auslöst, würde ich mit diesem Editor prüfen, welche Zeilenenden dort drin sind (vi macht dieses IIRC).

0
ShiDoiSi

In meinem Fall trat der Fehler auf, weil die Datei die Kodierung "UCS-2 LE BOM" hatte. Die Dateien mit ANSI waren in Ordnung. Ich habe die Zeilenenden überprüft, in allen Dateien waren sie korrekt .. _ Es scheint, dass Wide Char-Dateien (zumindest in meiner SVN-Version) manchmal nicht richtig erkannt werden.

Die einfachste Lösung ist das Entfernen der Eigenschaft "svn: eol-style".

0
David Gausmann

In NetBeans können Sie das Plugin " Zeilenende anzeigen/ändern " verwenden.

Nach der Installation und dem Neustart von NetBeans wird der Stil für die Endung der Linie auf der rechten Seite der Statusleiste angezeigt. Sie können darauf klicken und die Endung auswählen, in die Sie die Datei konvertieren möchten.

NetBeans Show and change line endings plugin

0
Jasper de Vries

Ich hatte das gleiche Problem, als ich Javadoc über eine Ant-Task auf einem Windows-Computer ausführte.

Ich habe das Problem behoben, indem ich <fixcrlf srcdir="${dir.javadoc}" eol="dos"/> unter der Javadoc-Ant-Task hinzugefügt habe.

0

Wie in 'Marius Matioc' oben vorgeschlagen, wäre dies eine einfache und schnelle Lösung1.Offene Datei in Notepad ++ 2.Edit-Menü -> EOL-Konvertierung -> Unix 3.Save 4.Edit Menü -> EOL-Konvertierung -> Windows5.Speichern

0

Bei Mac OSX habe ich diesen Fehler für eine Datei erhalten und musste sie mit dos2mac und dann mit mac2unix konvertieren. Nachdem ich das getan hatte, wurde das Problem für die klagenden Zeilenenden behoben.

0
Ray Hunter

So konvertieren Sie Windows mithilfe von Perl (1) konsistent zu UNIX-Zeilenenden:

Perl -p -i.bak -e 's#\r\n#\n#go' my-file.txt

So konvertieren Sie UNIX wieder in Windows:

Perl -p -i.bak -e 's#\n#\r\n#go' my-file.txt
0
Sean

Dies hat mich so lange gestört, dass ich mit einem Multi-System-Team mit SVN ..__ gearbeitet habe. Ich habe diese nützliche App erstellt, die in einem Ordner mit Unterordnern nach Textdateien sucht und alle UNIX-EOLs in DOS-EOL ..__ konvertiert. Es ist eine AIR-App, die sowohl unter Windows als auch unter Mac funktioniert. Ich hoffe, es hilft

http://www.pippoflash.com/index.php/2012/06/11/svn-error-inconsistent-line-ending-style-nightmare-solved-download-app/

Filippo

0
PippoApps.com

Ich hatte das gleiche Problem in einem Archiv, das zuvor gut funktionierte. In Notepad ++ habe ich das Format UTF-8 gewählt. Das hat bei mir funktioniert.

0
Douglas

Das Problem trat für mich auf, nachdem einige Änderungen in mehreren Textdateien vorgenommen wurden, sodass nur \n hinzugefügt wurde, um bestimmte Zeilen zu trennen, wohingegen \r\n normalerweise jede Zeile abbricht. Das Update bestand also darin, Notepad ++ zu verwenden, um ([^\r])\n .__ zu finden und durch $1\r\n..__ zu ersetzen. Auf diese Weise waren die Zeilenendezeichen überall konsistent.

0
Bizmarck