[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnu-arch-users] Preliminary Arch Cache available
From: |
Aaron Bentley |
Subject: |
[Gnu-arch-users] Preliminary Arch Cache available |
Date: |
Mon, 13 Sep 2004 09:17:13 -0400 |
User-agent: |
Mozilla Thunderbird 0.5 (X11/20040309) |
Hi all,
Over this weekend, I've added support for a persistent, disk-based,
local cache to Arch.
It's intended to be a general cache of persistent data, as I discussed
w/Tom. Right now, I've implemented it at the archive level, but it
could be applied to higher levels. The goal of archive caching is to
avoid downloading the same data multiple times.
It provides an alternative to partial mirrors, for connected operation
Comparison with partial mirrors:
Pro:
1. Always up to date
2. Never downloads anything you don't need
3. Allows you to commit
Con:
4. Still requires a connection before using the cache
How to get and use it:
get it from here:
address@hidden/tlasrc--cache--0
http://sourcecontrol.net/~abentley/archives/tlasrc/
tell Arch where your cache belongs:
echo $ANYPATH > ~/.arch-params/=arch-cache
Register an archive for use with cache:
tla register-archive -f
cache:http://sourcecontrol.net/~abentley/archives/tlasrc/
Only archives with cache: preceeding their normal URL will be cached.
Status of the code:
The caching code is only active for archives with cached: in their URLs.
It's new code, and changes to existing files are very minimal.
Furthermore, most of the new code is just wrapper code. I modified the
test suite to use cached: URLs everywhere, and it passes the test suite.
However, there may be changes yet to the Arch Cache namespace, so your
cached data may become obsolete in a future.
It's based on my development branch, containing the backbuilder and
other changes, like commit --base. If you don't want those, you can do
this, instead:
# Actually, any tla more recent than 1.1 should work
$ tla get address@hidden/tla--devo--1.2 cache
$ cd cache
$ tla apply-delta
address@hidden/tlasrc--cache--0--patch-2 $(tla
revisions -f address@hidden/tlasrc--cache--0|tail -n 1)
What's missing:
- Ancestry data is not cached
- Revision type data is not cached
- Lazy initialization would be very nice (there are issues with this
that I'll detail in a followup email)
- If a cacherev is downloaded, it should still be usable if the cacherev
is removed from the original archive
- Easy commandline tools, e.g. tla my-arch-cache
- Support for disconnected operation
Aaron
--
Aaron Bentley
Director of Technology
Panometrics, Inc.
- [Gnu-arch-users] Preliminary Arch Cache available,
Aaron Bentley <=
Re: [Gnu-arch-users] Preliminary Arch Cache available, James Blackwell, 2004/09/13