Dear diary, on Tue, Oct 17, 2006 at 02:03:21PM CEST, I got a letter where Matthieu Moy <Matthieu.Moy@xxxxxxx> said that... > Sean <seanlkml@xxxxxxxxxxxx> writes: > > > On Tue, 17 Oct 2006 13:19:08 +0200 > > Matthieu Moy <Matthieu.Moy@xxxxxxx> wrote: > > > >> 1) a working tree without any history information, pointing to some > >> other location for the history itself (a la svn/CVS/...). > >> (this is "light checkout") > > > > Git can do this from a local repository, it just can't do it from > > a remote repo (at least over the git native protocol). However, > > over gitweb you can grab and unpack a tarball from a remote repo. > > In practice this is probably enough support for such a feature. > > Anyway, given the price of disk space today, (In rich countries. This may still be very different in poorer countries. E.g. some actual mplayer developer(s) from Turkey opposed transition to a distributed version control system simply because they have trouble affording the required additional diskspace for the full history. SVN is already very space-hungry for them. (It stores basically two complete checkouts in parallel.)) But the much bigger practical problem is bandwidth, plenty of people still have internet connections where downloading several tens/hundreds of megabytes of the complete history is quite a big thing, and the servers ain't gonna be happy from that either, nor those paying the bandwidth bills. ;-) And this is one of the big problems the Mozilla guys have - having everyone download 450M worth of the full CVS-imported history (and I'll bet no other VCS will beat that size) seems to be not an option at all. > this only makes sense if > you have a fast access to the repository (otherwise, you consider your > local repository as a cache, and you're ready to pay the disk space > price to save your bandwidth). In this case, it's often in your > filesystem (local or NFS). So how is the light checkout actually implemented? Do you grab the complete new snapshot each time the remote repository is updated? Do all the (at least read-only, like "log" and "diff", perhaps "status") commands work on such a light checkout? This is something sorely missing in Git but if it's really only "we just provide bandwidth-expensive way to keep your tree up-to-date and that's all," that would not be hard at all to implement in Git too, using git-archive --remote. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html