(Illustration by Gaich Muramatsu)
On Fri, 10 Oct 1997, Brian Bartholomew wrote: > > I don't know what a /depot scheme is. > > There are as many depot schemes as there are sysadmins, however, the > goals of depot are as follows. Coda has the opportunity to make huge > improvements in the implementation of goal four: > > 1. Don't mix packages with the OS or each other. [details snipped] > 2. All tools are available at once. [details snipped] These are available (AFAICT) with a depot'ing program (either depot, developed at CMU, or Stow, which has a number of advantages and a few disavantages compared to depot -- http://www.fsf.org/software/stow/; there are probably others I'm not familiar with). Presumably, that's the source of the term '/depot scheme'. > 3. Architecture differences are hidden. > > /depot/emacs-19.1/bin/emacs is the proper binary on > every system I access the pathname from. > > 4. Presentation path is decoupled from storage path and server. [details snipped] As long as Coda provides something like the "@sys" in AFS symlinks, that solves half the problem. When you follow a symlink that contains the string "@sys" in AFS, it substitutes a canonical system type (shorter than the GNU-style canonical system type) string in its place, so that, for example, I have: [poole_at_samtheeagle ~/bin]$ ls -l rxvt lrwxr-xr-x 1 poole staff 26 Oct 10 15:54 rxvt -> ../stow/rxvt/@sys/bin/rxvt* So depending on my current system, it should go to the right place. This still leaves two problems that you mentioned: 1) Version numbers of programs aren't taken into consideration -- there's no decision to go to emacs-19.1 instead of emacs-19.2, and 2) An entire directory may be symlinked to some depot subdirectory (to reduce the total number of symlinks necessary) In my opinion, the first of these isn't something that the file system should really take care of, since it's virtually impossible to determine the 'correct' version of a file to link to without hints from the user (in which case you might as well make /depot/emacs-19 into a symlink to /depot/emacs-19.x). The second is something that could reasonably be hidden in a filesystem, but not without incorporating the entire depot scheme into the filesystem as well. Again, in my opinion, this is unnecessary bloat and slowdown for the common path -- for a lot of things, the chance of the variety in 'pwd' etc due to a depot scheme actually confusing someone is near-zero (since most of the common directories would be split-open and only the file contents would be symlinks, most of the common directories would show the expected name). Coda should work well for serving a file depot, though -- it does transparently replicate volumes to multiple servers, so that you could have your depot stored on Coda and use a normal depot program build a symlink tree or copy files over as appropriate. - MichaelReceived on 1997-10-10 16:20:23