We've got several RHEL5 development servers, one for each developer. Each server is developer's own sandbox, with Subversion checkout available through Samba shares (having RHEL5 clients is out of option, corporate policy requires Windows XP). Now several developers have notebooks as main development boxes and would like to have their code available even when there's no network connectivity, e.g. in the presentation room or at home. R/W preferred, of course, but R/O would do too.
I'm thinking about some system with transparent persistent caching, lie a virtual drive which would synchronize with the original share when online and replace the network drive when offline. There are possibly other solutions, what would you recommend?
EDIT: Judging from the comments, I notice how difficult it is to explain what we are doing. I'll just try again. There is a central SVN repository and developers' devel-boxes to work on. However, they are not allowed to use those boxes as Linux clients directly, but instead they need to use Windows XP as development client because of corporate restrictions. So the webserver stays on the RHEL5 devel-box (which is reference platform), checkout stays there too and is shared to the developer via Samba (exclusively!). There is no misunderstanding of what SVN is and isn't, it's just that the checkouts are located on the server and not on the client. Because of that, they are not available online, but it's desired that they are -- and this has been the essence of my question.
Tell me if this is easier to understand :)
I keep some of my writing in a subversion repository, and I use tortoiseSVN as a subversion client on my Windows machine. Have you considered having them checkout the repository there, and maybe giving them a "laptop development" branch or something, into which they can merge changes and then folding them into their other development efforts?
I like Matt Simmons' suggesting re: using your version control system. Having said that, if it's not practical for some reason, look at "Offline Files" in your Windows XP clients. I've been using "Offline Files" against Samba for a few years. Some versions had various silly problems, but if you're running newer versions (I don't know what version RHEL5 ships with) you should be fine.
It sounds to me like you might be missing the general idea behind subversion (forgive me if I am wrong). It looks like you are trying to reinvent something that subversion already does by default.
Normally, from what I have seen and used, you make a repository with code or documents in it. Then each developer 'checks out' their own local copy. This local copy is stored on their hard drive. When they are done, they check in their copy, and the changes they have made are uploaded.
Introducing another layer with SAMBA doesn't make much sense to me, unless maybe it was to have some read-only version available to non technical people.
It sounds to me like your workflow would be better matches using a Distributed Version Control System (DVCS), such as Bazaar, Git, or Mercurial. These systems all allow you to work offline (such as while travelling), and still make commits and continue your work.
I believe that the three DVCS I listed will allow you to continue using subversion in the back end (with a little extra effort), and likely offer guides on migrating from subversion.