On Sun, Nov 21, 2010 at 9:54 AM, Kevin Connor Arpe <kevina...@gmail.com> wrote: > Hello, > > I have a question about version caching. I am using the latest > (stable) version on both Linux and WinSlows. > > As I understand Subversion, once a version is committed, basically it > can never changed. A version is written in stone.
Not without committing serious database arcanery well below beyond the reach of anyone who has a daytime job and doesn't like trying to outsmart the authors of a system. The basic idea is that every change is permanently logged and never abandoned: Deleting accidents, like somebody committing big old DVD's by accident, turns out to be pretty difficult. > If that is true, I was hoping Subversion could cache each versioned > copy that it downloads. Currently, it seems running "log", "diff", > and "merge" takes quite some time (I am very far away from my > Subversion server at work... half the world.) The normal technique is to use 'svn:externals' to keep particular branches, or tags, checked out for local comparison. Update regularly, and you should be able to do most comparisons far faster. Another possibility is to keep a local mirror, using svnsync, to run your comparisons against. Another possiblity is to acknowledge the difficulty of using such a centralized system as subversion, and switch to git or possibly mercurial. There are some good "gitsvn" gateways that might be helpful. > Is there an add-on or option I can use to ask Subversion to never > throw away a version it sees? That way if I run "log" or "merge" or > "diff" against an older version I have seen before... poof! it is > immediately available. By "older version" I assume you mean "checked out at a different time". > I thought about mirroring the server in read-only mode, but I really > just want a local cache for versions that I might be looking at. Definitely look at svnsync to maintain a local repository for comparisions. > Cheers. Great product... keep it up! > > Kevin > Hongkong >