--- Paul Sander <[EMAIL PROTECTED]> wrote: > Unfortunately, modules can overlap, which means that > the new > locking mechanism must have a granularity smaller > than the > module. > > Depending on how the mapping is done, especially if > there's an > attempt to preserve backward compatibility (and > preserving CVS' > existing directory-based locking in the repository) > then you > end up locking every directory that contains a ,v > file that maps > to a file in the user's sandbox, every time an > update or commit > is done.
Some more thoughts... Each file and directory are mapped to a ,v archive file. The contents of the directory archive files are the mappings of its elements and the types (eg file or directory) of those elements. The basenames of the archive files will be hex representations of random 256-bit numbers generated with a "secure" version of the Mersenne Twister algorithm. Locking will occur on a per-repository basis. Permissions can still be done on a per-directory basis. Since the repository structure will no longer be directory-based, module definitions like "module path/to/module" won't be supported. I think a transition from an old repository to the above shouldn't be too bad assuming people don't have complicated module definitions. For those with a complicated module definitions, a switch could be provided to use the old style (the default would be to support backward compatibility). A tool can also be provided to convert the old repo into a new repo. Old clients will still work on new servers but since the mappings will be done by the server, they'll be slower than new clients. New clients will store the mappings within the CVS directories. This implies that the CS protocol will need to be extended in such a way that a new server will recognize a new client. If the client can query the server for its version, new clients can also work with old servers. The command "cvs mv" will be added. Upon checkin, a mv command will checkin a new version of the archive file(s) of the affected directory(ies). Noel __________________________________________________ Do You Yahoo!? Yahoo! Sports - sign up for Fantasy Baseball http://sports.yahoo.com _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
