Ich habe zwei Kopien einer Website, eine ist die Produktionskopie, und die andere ist die Entwicklungskopie. Ich habe kürzlich alles in der Produktion zu einem Subversion-Repository hinzugefügt, das auf unserem Linux-Backup-Server gehostet wird. Ich habe ein Tag der aktuellen Version erstellt und ich war fertig.Subversion flippt mich aus!
Ich kopierte dann die Entwicklerkopie über die Produktionskopie (auf meinem lokalen Rechner, wo ich alles ausgecheckt habe). Es gibt nur 10-20 Dateien, die geändert werden. Wenn ich SVN für eine Commit-Operation verwende, sagt es, dass sich jede Datei geändert hat. Die generierte Diff-Datei zeigt Subversion, indem alles entfernt und durch die neue Version ersetzt wird (die genau die gleiche ist).
Was ist los? Wie repariere ich es?
Ein Beispiel diff:
Index: C:/Users/jhollon/Documents/Visual Studio 2008/Projects/saloon/trunk/components/index.html
===================================================================
--- C:/Users/jhollon/Documents/Visual Studio 2008/Projects/saloon/trunk/components/index.html (revision 5)
+++ C:/Users/jhollon/Documents/Visual Studio 2008/Projects/saloon/trunk/components/index.html (working copy)
@@ -1,4 +1,4 @@
-<html>
-<body bgcolor="#FFFFFF">
-</body>
+<html>
+<body bgcolor="#FFFFFF">
+</body>
</html>
\ No newline at end of file
Das klingt nach einem Problem mit [newlines] (http://en.wikipedia.org/wiki/Newline): vielleicht wurden sie irgendwie in CRLF umgewandelt? – Veeti
Ich denke, es ist ein End-of-Line-Problem. Zeigen Sie das Diff mit einem Werkzeug an, das End-of-Line-Markierungen anzeigt, und Sie werden sehen, dass diese unterschiedlich sind.:) – mihi
Der schnellste Weg, das Vorhandensein eines Zeilenendes zu ermitteln, besteht darin, die Ausgabe durch 'od -c' zu pipen und dann nach dem Tell-Tale zu suchen. ' –