Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Glen Starrett wrote: > Gerhard Fiedler wrote: >> I'd like to mention here the one feature I'm still missing from the times I >> worked with VSS: what they call "cloaking". This basically allows users to >> list (locally, in the sandbox) files and directories they don't want from >> the server. With that, you could list the few exceptions you don't want and >> use the update -d option to get all others. Something similar doesn't seem >> to be possible with cvs(nt). You either get it all, or you need to do >> something manually, like maintaining modules definitions or verify the >> repository and check out new directories (with the methods listed above). > > The "cloaking" feature sounds pretty manual to me as well, The part that's manual is adding the exemptions. The part that's automatic is that you get automatically /everything else/. With cvs(nt), there's no way to specify "everything else". Sometimes that's useful -- especially if you had that feature once :) > but it has to be done on every client instead of doing it once on the > server as with modules / modules2. Correct. It's a client-side thing. A big hug to whoever puts /some/ control in the hand of the user :) > It's not easily customizable on a per-user basis, but I'm not sure I see > a benefit to that. Do you have some examples when it would be? Yes. Sometimes there are large files in a repository (like when working with databases) that are of interest to some developers but not to others. All developers may have an interest in simply, automatically, getting everything that's new in the project with an update -- except for, say, those three directories that contain big files. Or I may have it all in my sandbox, but now I'm on the road for a while, using dialup. I just "cloak" the big stuff that's not immediately important and continue to work normally. Or I generally update all projects, getting all new project directories, out of curiosity, because I like to know what's going on. But a few projects are really old, huge, and I know I don't want to know about those. But I want to get everything else (here it is again, that expression :) All situations where the feature is helpful, and it being client-side is appropriate. (In all cases it is a decision of the sandbox owner, not the repository admin, what to get and what not.) Achieving the same effect with cvs(nt) is not trivial: One way (works only for some cases) is to maintain a modules file and add every new directory to it. The advantage is that this is central, but the disadvantage is that this is central :) The person maintaining the module file may not know what I'd rather not get for the next week. It's also a lot of work. And users can't use the update command; they need to use the checkout command. The other way is to regularly run "cvs ls" and check whether there's some new directory and check it out, all the while one by one updating the other directories with the -d option -- making sure to never forget where exactly the "cloaked" directories are. (You have to remember that, because you may not run update -d in a parent directory, only in a sibling or child.) Verrry manual... :) Or write a client-side script that does the above, using a list of "cloaked" directories (or even files), collecting the cvsnt output along the way and presenting it back to the user as if it had been one update command, possibly reporting the "cloaked" items in some special way (a new character in the first column). That's probably the only usable way to do this with cvsnt. Any other ideas? One "feature" all three solutions share is that the common GUI frontends don't work well with that. Gerhard