You are not logged in

I now think that the simplest way to solve this is with more intelligent post-commit hooks. You could run a command on the server that caches the latest revision and uncaches any earlier ones. This would most likely be used for mirrored remote archives.

Right now, ArX wants to store the oldest version as a full tarball, and only patches of the newer versions. However, you usually want to get later revisions, not earlier ones. So it might often be better to store the leaves of the archive tree rather than the root.

However, this will require smarter servers, because otherwise we have to transmit the entire tarball in order to update remote archives. What is better is for the remote server to build the new revision on command. But people may not want to or be able to run smarter servers, so it better not to require this behavior. There are also some cases where people want the branches to be very lightweight on the server.