CVSup
# CVSup

CVSup ist ein Computerprogramm, das Dateien und Verzeichnisse synchronisiert und dabei die Menge der übertragenen Daten minimiert, indem es abhängig vom Dateityp spezifische Delta-Algorithmen verwendet. CVSup wurde ursprünglich entwickelt, um Quellcodearchive von Versionsverwaltungen wie zum Beispiel CVS auf dem aktuellen Stand zu halten, wurde aber schließlich so erweitert, dass es jede Art von Dateien synchronisieren kann.
CVSup ist mit seinen Eigenschaften grundsätzlich mit dem Programm rsync vergleichbar, aber es gibt einige wichtige Unterschiede. So versucht CVSup den Datenaustausch in jeder Richtung auszugleichen, anstatt das Hauptgewicht auf die Richtung Server-Client zu legen. Das Gleiche gilt für die CPU- und Festplatten-Ausnutzung.
Im Übrigen werden spezialisierte Delta-Algorithmen je nach Art der jeweiligen Datei verwendet. Da beispielsweise Dateien innerhalb eines CVS-Archivs in einer bestimmten Weise wachsen, können durch eine entsprechende Anpassung des Algorithmus die zu übertragende Datenmenge bzw. die benötigten Rechenressourcen weiter minimiert werden. Viele weitere Dateitypen werden unterstützt, und falls keine spezifische Unterstützung eingebaut ist, wird ein generischer Algorithmus verwendet.
CVSup ist in Modula-3 geschrieben. Csup ist eine zu CVSup kompatible Implementierung des CVSup-Clients in C.