[EMAIL PROTECTED] on 02/15/2000 02:19:56 PM
>The *standard* meaning of "cvs SOMECOMMAND dir" is to operate on the
>files within "dir" (including recursing into any sub-directories and
>operating on the files within them too unless you use '-l', sans the
>optimisation I discuss in the final paragraph below).
>
>My "cvs add" will be compatible to all those other similar sub-commands
>and thus "cvs add dir" will obviously ``work'', but it won't do what you
>want it to do (which is effectively the broken hack it does today).
"cvs add dir" *must* operate on the local directory in so far as to create CVS
admin subdirectories within those local directories. It should bear no
difference whether or not these local directories have files within their
hierarchies.
>You're in the working directory when you're anywhere within it,
>regardless of whether or not there are CVS administrative files
>immediately and currently available in the current directory. You
>obviously cannot be within it and outside of it at the same time. This
>is pure common sense and is the way Unix (and Multics) directory
>hierarchies have worked for decades. Trying to claim otherwise is
>either arguing that black is white or makes use of tricks that CVS
>explicitly does not respect (i.e. the previously discussed symlinks,
>loop-back mounts, and so on).
So then directory hierarchies containing zero files are also part of the working
directory. They also shouldn't be ignored by "cvs add".
>That's only an artifact, or rather an optimisation, of the current
>implementation. It would make equal sense to note every un-ignored file
>as unknown in every sub-directory. This would be a bit noisy and
>unnecessary though -- it's plainly obvious that all of the files within
>an as-yet uknown directory must also be unknown themselves. I guess
>this optimisation should be turned off too so as to avoid confusing
>naive users and implying that CVS has features that it in fact does not
>have.
I take it that you also mean that directories mentioned in the ignore list will
mean to recursively ignore everything within that directory?
Noel