Renames in CVS
The basic story about renaming files and directories (and how it might be improved) is in item #189 in the TODO file.
One additional design that isn't mentioned there is that each RCS file might have an additional per-revision field which contains the filename (relative to CVSROOT) of the file as of that revision. Thus an RCS file can be copied or moved and the history is preserved. I'm not sure what all the implications of this are, but it would seem to be similar to the rename database design ("ii" in TODO). That is, you need to think hard about making merges work, because merges no longer can occur strictly one file at a time.
One additional thought on the rename database ("ii" in TODO): one way to help handle the merge problem is to make the mapping from names to repository-files a user-visible file which then gets merged the same way as any other file (user-visible because resolving conflicts must be done by the user). This is similar to PRCS (at least in the sense of having a user-visible file with this kind of information).
![[Cyclic Home]](../cyclic-pages/cyclichome.gif)
![[ Valid XHTML 1.0! ]](/branding/w3c-valid-xhtml10-44x16.png)
![[ Valid CSS! ]](/branding/w3c-valid-css-44x16.png)
