views:

835

answers:

4

What is the maximum revision number supported by SVN? The repo is of type FSFS, hosted on a Fedora box.

Thank you,

+8  A: 

If you're using a 32-bit computer it's 2147483647, that's 231-1, the maximum value of a signed 32-bit integer. For a 64-bit computer, it's... more. In any case, it should be enough for any practical purpose where humans are doing commits.

In practice, you're probably going to run out of disk space or your directory indexes become too slow before you hit the maximum revision number limit.

Ville Laurikari
Assuming Jon Skeet isn't doing the commits, that is.
Rich Bradshaw
Ext3 also has a maximum number of 2^31−1 blocks for the whole file system. Since each file takes at least one block and each revision takes one file, you will definitely run into file system limitations before you run out of revisions. (Although in since svn 1.5 you have "sharding" and since svn 1.6 "svnadmin pack" for completed shards...)
Wim Coenen
surely Jon Skeet only commits once, because it's perfect first time around?
ninesided
yea, but he's so prolific...always adding new files!
Will Hartung
Jon skeet does not need a version control system
barfoon
+4  A: 

Possibly more than 2 billion. There is an interesting discussion at http://svn.haxx.se/users/archive-2005-03/0394.shtml

cherouvim
+1 for having a reference
Wim Coenen
+3  A: 

I guess it is large enough not to bother.

Let's suppose it is stored in a 32 bit value. This means that if you commit once a second, you'll need 136 years to get an overflow.

mouviciel
OTOH, there is an urban legend that at Google they overflowed a long once.
Anton Tykhyy
I've overflowed many long's in my live time. What overflow are you referring to?
Luke
Actually, SVN most likely uses a signed integer for the revision number so you have 31 bits left, which will only last you a measly 68 years of commit-once-per-second fun.
Ville Laurikari
A: 

The time based answers assume that only one person is doing the commits. Here, we have at least a dozen... but they're all working, not posting commits once a second. Then again, it depends on how well you use the tool. You can commit parts of a project at a time, instead of the whole project at once. ... but given the other answers, this point is really moot.