2009-05-03 18 views

Antwort

26

Wenn Sie eine 32-Bit-Computer verwenden es 2147483647 ist, das ist 2 -1, der Maximalwert eines ganzzahligen 32-Bit unterzeichnet. Für einen 64-Bit-Computer ist es ... mehr. In jedem Fall sollte es für jeden praktischen Zweck ausreichen, bei dem Menschen Commits machen.

In der Praxis werden Sie wahrscheinlich nicht mehr genügend Speicherplatz haben oder Ihre Verzeichnisindizes werden zu langsam, bevor Sie das maximale Revisionsnummernlimit erreichen.

+20

Angenommen, Jon Skeet macht nicht die Commits, das ist. –

+4

Ext3 hat auch eine maximale Anzahl von 2^31-1 Blöcken für das gesamte Dateisystem. Da jede Datei mindestens einen Block benötigt und jede Revision eine einzige Datei benötigt, werden Sie definitiv auf Einschränkungen des Dateisystems stoßen, bevor Ihnen die Revisionen ausgehen. (Obwohl seit svn 1.5 hast du "sharding" und seit svn 1.6 "svnadmin pack" für fertige shards ...) –

+6

sicher Jon Skeet verpflichtet nur einmal, weil es das erste Mal perfekt ist? – ninesided

5

Ich denke, es ist groß genug, um nicht zu stören.

Nehmen wir an, dass es in einem 32-Bit-Wert gespeichert ist. Das bedeutet, dass Sie, wenn Sie einmal pro Sekunde eine Commit ausführen, 136 Jahre benötigen, um einen Überlauf zu erhalten.

+0

OTOH, es gibt eine städtische Legende, dass bei Google sie lange einmal übergelaufen sind. –

+3

Ich habe viele Longs in meiner Lebenszeit übergelaufen. Auf welchen Überlauf beziehen Sie sich? – Luke

+3

Tatsächlich verwendet SVN höchstwahrscheinlich eine vorzeichenbehaftete ganze Zahl für die Revisionsnummer, so dass Sie 31 Bits übrig haben, die Ihnen nur einen mageren 68 Jahre Festnahme-einmal-pro-Sekunde-Spaß dauern werden. –

0

Die zeitbasierten Antworten gehen davon aus, dass nur eine Person die Commits durchführt. Hier haben wir mindestens ein Dutzend ... aber sie arbeiten alle, schreiben nicht einmal pro Sekunde. Dann hängt es wieder davon ab, wie gut Sie das Werkzeug verwenden. Sie können Teile eines Projekts zu einer Zeit, anstatt des gesamten Projekts auf einmal zu begehen. ... aber angesichts der anderen Antworten ist dieser Punkt wirklich strittig.

Verwandte Themen