Versionskontrolle für Prosa

8

Es scheint, dass jemand das schon getan hat, aber ich kann das Endprodukt, nach dem ich suche, nicht finden.

Die Verwendung eines Versionskontrollsystems für Text ist mühsam. Sie benötigen Zeilenumbrüche am Ende jedes Satzes und sogar inmitten langer Sätze. Wenn man sich die Git-Quelle anschaut, scheint es möglich zu sein, dass git (oder ein anderes Versionskontrollsystem) mit '\n' oder dem Muster '\n' übereinstimmt, indem man einige Routinen ändert, die nach '\.\s' suchen. Es ist jedoch eine Aufgabe, die akribisch erledigt werden muss, oder ich kann Dinge sehen, die ziemlich schlecht funktionieren.

Kennt jemand jemanden, der das schon getan hat? Oder irgendwelche anderen Alternativen?

Danke!

    
dgorur 14.10.2011, 22:46
quelle

1 Antwort

3

Jedes Versionskontrollsystem sollte mit Prosa umgehen können. Die Frage ist, wie effizient das geht.

Der Befehl git diff verwendet etwas wie diff -u , um die Unterschiede zwischen zwei Versionen einer Datei anzuzeigen. Wenn die Datei aus Text mit sehr langen Zeilen besteht (d. H. Viele Zeichen zwischen '\n' -Zeichen), könnte es einige Schwierigkeiten haben, die Unterschiede sinnvoll darzustellen; Es könnte zwei 5000-Zeichen Zeilen mit nur einer einzigen Zeichenänderung zeigen.

Aber das bedeutet nicht unbedingt, dass git die Dateien speichert. Ich bin mit dem internen Speicherformat von git nicht vertraut, aber mein Verständnis ist, dass es ziemlich gut mit Binärdateien funktioniert, die viele Megabyte Daten ohne '\n' Zeichen haben könnten.

Beachten Sie, dass einige ältere Versionskontrollsysteme (SCCS, RCS) wahrscheinlich Unterschiede zwischen Versionen zeilenweise speichern. Aber selbst für solche Systeme, schlimmstenfalls , würden Sie eine vollständige Kopie jeder Version und einen gewissen Mehraufwand speichern. Das System sollte weiterhin ordnungsgemäß funktionieren können.

Beachten Sie, dass git diff --word-diff das Problem des Versionsvergleichs zumindest teilweise umgehen sollte.

    
Keith Thompson 14.10.2011, 23:42
quelle

Tags und Links