LWN.net Logo

Subversion considered obsolete

Subversion considered obsolete

Posted Apr 6, 2010 23:16 UTC (Tue) by dlang (✭ supporter ✭, #313)
In reply to: Subversion considered obsolete by vonbrand
Parent article: A proposed Subversion vision and roadmap

git currently requires that any file it manipulates get mmapped, this limits the file size to your memory size.

git's pack file format uses 32 bit offsets, which limits the largest pack size to ~4G (I believe it uses unsigned 32 bit values, if it's signed values then the limit is 2G) I think that it is always pointing to the beginning of a file, so a file larger than 4G can exist in a pack, but would be the only thing in the pack.


(Log in to post comments)

Size limit in git objects?

Posted Apr 7, 2010 1:02 UTC (Wed) by vonbrand (subscriber, #4458) [Link]

Wrong. From Documentation/tecnical/pack-format.txt for current git (version v1.7.0.4-361-g8b5fe8c):

Observation: length of each object is encoded in a variable length format and is not constrained to 32-bit or anything.

Size limit in git objects?

Posted Apr 7, 2010 3:23 UTC (Wed) by dlang (✭ supporter ✭, #313) [Link]

the length of the object isn't contrained, but the offset to the start of the object is.

so you can have up to 4G in a pack file, plus however much the last object runs off the end of it.

Subversion considered obsolete

Posted Apr 7, 2010 22:56 UTC (Wed) by cmccabe (guest, #60281) [Link]

> git currently requires that any file it manipulates get mmapped, this
> limits the file size to your memory size.

You can mmap(2) files that are bigger than your memory size.

Of course, if you're on 32-bit, there are some size limitations because of the limited size of virtual memory.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds