From: Clemens L. <cl...@la...> - 2011-03-25 10:10:43
|
Jonathan Woithe wrote: > > You could tell git to only download the current revision, thus losing > > all the history. This has some limitations (see man git-clone), but > > might be enough to get started: git clone --depth 1 ... > > That's certainly a partial solution, but its use does potentially create > pain for others since you have to rely on others to check your work in > manually down the track. > > Git is a good system, but its strength is also its weakness and this is seen > very clearly with a project the size of the kernel. For people who are > working on only a tiny portion of the system (which is most people I > suspect), a vast majority of the history and the tree holds no interest > what-so-ever. Yet in order to be a first-class "git" citizen one has to be > prepared to download a huge amount of data initially, and devote a > significant amount of HDD space to the storage of data most of which is of > no relevance to the area of interest. In my kernel tree, the .git directory with the entire history is 583 MB, the checked-out source code alone (without generated files) is 483 MB. > It's progress, but for some it also presents challenges which other systems > such as svn (for all their weaknesses) don't. Typically, a subversion source tree with one checked-out revision uses more disk space than a git tree with its entire history because svn keeps an uncompressed copy of all files around. This overhead is quite unexpected for most people, but is the result of a conscious design decision to make some diffs faster. Regards, Clemens |