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

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

[Gnu-arch-users] [BUG] [FEATURE-REQUEST] Caching mechanisme for patch-lo


From: Matthieu Moy
Subject: [Gnu-arch-users] [BUG] [FEATURE-REQUEST] Caching mechanisme for patch-logs
Date: Sat, 03 Jul 2004 13:32:51 +0200
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.2 (gnu/linux)

For most tla operations displaying lists of revisions, using the
options --summary, --author, --date make tla very slow because tla has
to fetch the log file for each revision displayed, and this log file
is often on a remote server.

I suggest a caching mechanisme for patch-log entries, like we already
have revision libraries to cache working directories. My proposal is
to implement this as an extension of the revision library mechanism,
but we could also imagine a separate library.

$ tla library-config --logs $revlib

Would configure $revlib to cache patch log entries. This would for
example create $revlib/=patch-log. Then, any operation needing to
access a patch-log entry would first search the file

$revlib/archive/category/branch/version/=log-$revision

There would be a command

$ tla library-add --log $revision

To add the log file to the library. As a possible optimisation, the
file can be a hardlink to the corresponding patch-log entry in the
revision library. (In this case no need for a network access)

This would make log-library and revision-library independant : You can
have one without the other (typically, if you have very limited disk
space, you may have no or very few full revisions in your library),
but having both won't penalize the user.

Once we have this, the important point is to add

$ tla library-config --greedy-log

To tell tla to write the log file to the revision library whenever it
is fetched.

With a --greedy-log library, "tla revisions --summary" would be slow
the first time, and almost as fast as "tla revisions" the second time.

--
Matthieu




reply via email to

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