gnu-arch-users
[Top][All Lists]
Advanced

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

Re: [Gnu-arch-users] Avoiding ancestor scan during get with revision lib


From: Aaron Bentley
Subject: Re: [Gnu-arch-users] Avoiding ancestor scan during get with revision library
Date: Thu, 06 May 2004 13:04:37 -0400
User-agent: Mozilla Thunderbird 0.5 (X11/20040309)

Richard Curnow wrote:
When I do the 'tla get' command, tla starts searching backwards for an
ancestor:

* ensuring library has address@hidden/a--b--c.d--patch-NNN
* searching ancestor revision in library in archive address@hidden

I assume tla is examining each patch's log in the remote archive to find
continuations, so it can check if an ancestor is already in my revlib.

Actually, it's looking for CONTINUATION files, not reading patchlogs, but it's the same principle.

The trouble is, this is extremely slow; nothing appears after the
"searching.." message for several minutes.  (I guess there's some
connection setup latency due to firewall and/or web-proxy issues.)

Agreed. It's too damn slow. But for the moment, it seems the latency issues are inevitable. Using pipelining, parallel downloads, a smart server, or changing the archive format could improve matters.

Is there any way of telling 'tla get' (or 'tla library-add' for that
matter) that I want it to go straight to the cacherev and use that, and
forget about trying to hardlink to an ancestor at all?  The checkout
would then be done in a second or two instead of many minutes.

Sort of. You can tell 'get' to use the first cachedrev it finds, by passing the --no-greedy-add option. library-adding uses a different codepath that is more desperate to find a library revision. --no-greedy-add will also give you a pristine in your project tree instead of a revision in your library.

This will make the get happen in fewer minutes, but 'get' will still need to scan the archive until it finds a cacherev.

Aaron
--
Aaron Bentley
Director of Technology
Panometrics, Inc.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]