tech-repository archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: The essential problems of moving from CVS



On Sat, Jan 16, 2010 at 08:42:26PM +0000, Thomas Adam wrote:
 >>> And anyway, I'm not even clear as to what the point (or points) are
 >>> of partial checkouts, as I'm only imagining use cases rather than
 >>> knowing about real ones.
 >> 
 >> The primary point is either to reduce disk usage or reduce the amount
 >> of time taken by SCM ops.
 >> 
 >> git is a lot faster than cvs, but on a tree the size of netbsd or
 >> pkgsrc any operation that has to scan the entire working copy takes
 >> long enough to be annoying, even on a fast machine with plenty of RAM.
 >> And more such scans happen than do when using cvs.
 > 
 > No, this just isn't true.  Git walks the DAG, sure, but it typically only
 > ever needs to look at one or two parents for most operations. [...]

The working copy, not the history. Scanning a whole tree takes a
while. This is just filesystem I/O and not something git can do much
about.

I don't have git installed on a suitable machine to test it; however,
for Mercurial, on one of my boxes that happens to have a suitable tree
on it (a recent anoncvs checkout that was committed as a single
version) it takes between 10-15 seconds to do 'hg status' on the whole
tree. (With warm cache. With cold cache it takes nearly a minute.)
That machine is not a speed demon, but even on a fast machine it takes
long enough that you don't want to sit and wait for it every time you
turn around.

Checking out a subtree *will* make this faster.

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index