Hi.

I am faced with a problem where I need to distribute a directory containing about 60 GB worth of software on a Linux file server to about 100 systems. The software must be localized on those systems and not shared out over NFS. On a regular basis, software may be added or removed from the directory, and all the clients should update accordingly in the evening. During the update period, some client systems may be off.

I think that Subversion would be a reasonable way to solve this problem which isn't quite the type of problem that rsync is intended to handle (because of the number of machines). However, for a variety of reasons, I don't want to run subversion on the actual file server. Instead, nightly, I'd like to rsync changes in the contents of the software directory on the file server to a software distribution server which would run its own svnserve. The clients would then connect up to the server nightly, and update themselves accordingly. Because of the versioning, if a client misses an update, it would be updated the next time around, even if its been off for a while.

The inital update between the file server and the software update server would require rsyncing the whole 60 GB of software to a "working directory", after which, to make subversion see this as a "working directory", I would have to commit the entire directory, then check it back out. This process seems like a bit of a waste, but it's a one time process, and I don't really see any way around it. In the future, I would like to be able to rsync changes between the file server and the working directory on the software distribution server, which would including using --delete to ensure that software deleted from the file server is also deleted from the subversion working idrectory, and including the excluding of the .svn directory from the working copy. However, after the rsync happens, I now need to run a command that would update the repository with the state of the working directory. However, it's not exactly clear how this would work? Running an "svn update" isn't going to delete directories from the repository that were deleted from the working directory. I believe you need to use "svn delete" for this?

Any ideas that anyone might be able to offer?

I'm not on the list, so please ensure that you CC: me in any response.

Thanks for your help!

Jason.


Reply via email to