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