|
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.
[Prev in Thread] | Current Thread | [Next in Thread] |