Frage

Ich bin auf der Suche nach einer schnellen, aber nicht so schmutzig Möglichkeit, Schnappschüsse von einer Reihe von Dateien in Höhe von insgesamt etwa 80 Gigs zu tun. Das Problem hierbei ist, dass viele der Dateien sind etwa 1 GB groß.

Was ist das beste kostenlose Versionskontrollsystem für diese Art der Sache?

Ich weiß, dass ZFS ist eine Option, aber ich möchte lieber etwas anderes versuchen zuerst.

War es hilfreich?

Lösung

Subversion wird Ihre> 1 GB Dateien mit gutmütig aplomb zum größten Teil handhaben, aber wenn es viele großen Veränderungen erwarten die Erzeugung von diffs eine Weile dauern ...

Subversion Besten Praktiken einen Abschnitt über große Dateien hat:

  

Ein nettes Feature von Subversion ist, dass durch Design, gibt es keine Begrenzung für   die Größe der Dateien kann damit umgehen. Die Dateien werden gesendet „streamily“ in beide   Subversion Richtungen zwischen Client und Server, einem kleinen verwenden,   konstante Menge an Speicher auf jeder Seite des Netzes.

     

Natürlich gibt es eine Reihe von praktischen Fragen zu berücksichtigen. Während   es gibt keine Notwendigkeit, über Dateien im Kilobyte-Größe Bereich sorgen (z   typische Quellcode-Dateien), können größere Dateien zu begehen nehmen ein   enorme Menge an Zeit und Raum (zum Beispiel Dateien, die Dutzende sind   oder Hunderte von Megabytes groß.)

     

mit zu beginnen, denken Sie daran, dass Ihre Subversion Kopie speichert Arbeits   unberührte Kopien aller versionskontrollierten Dateien im .svn / text-base /   Bereich. Dies bedeutet, dass Ihre Arbeitskopie dauert mindestens zweimal auf, als   viel Speicherplatz wie das Original-Datensatz. Darüber hinaus werden die Subversion   Client folgt einem (derzeit unverstellbar) Algorithmus zur Begehung   Dateien:

     

. Kopiert die Datei in .svn / tmp / (kann eine Weile dauern, und vorübergehend verwendet   zusätzlicher Speicherplatz))

     

. Führt einen binären diff zwischen dem tmpfile und die   Kopie der Datei oder zwischen den tmpfile und einer leeren Datei, wenn neu   hinzugefügt. (Kann eine sehr lange Zeit zu berechnen, auch wenn nur eine kleine   Datenmenge könnte letztlich über das Netzwerk gesendet werden)

     

. sendet die   diff auf den Server, bewegt dann den tmpfile in .svn / text-base /

     

So   während es auf die Größe der Dateien keine theoretische Grenze ist, werden Sie   müssen sich bewusst sein, dass sehr große Dateien erfordern ziemlich viel   Patienten warten, während Ihr Kunde weg tuckert. Sie können sicher sein,   Sie jedoch, dass im Gegensatz zu CVS, große Dateien werden nicht entmündigen die   Server oder Auswirkungen auf andere Benutzer.

Andere Tipps

Sie möchten vielleicht wirklich versuchen Monotone aber nur check it out. Vielleicht finden Sie, was Sie mit ihm suchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top