info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: renaming under CVS


From: Paul Sander
Subject: Re: renaming under CVS
Date: Mon, 25 Feb 2002 23:30:29 -0800

For what it's worth, I'm not convinced that embedding the version numbers
of descendants is really necessary in each of the revisions representing a
directory's contents.  I believe that a new revision of each directory is
really needed only when add and removes (and renames) are committed, and
that the usual tagging and datestamping will associate the proper versions
of directory content maps with their ancestors and descendants.

>--- Forwarded mail from address@hidden

>If you want to version directories CVS, you will have to eliminate reliance on
>actual filenames and directory names (real and meaningless filenames to be used
>by CVS, not seen by user). Still use the RCSfile format for the backend.

>Example repo:
>/usr/local/myrepo/CVSROOT/
>/usr/local/myrepo/src/
>                      file1.java
>                      file2.java
>/usr/local/myrepo/lib/
>                      jar1.jar
>                      jar2.jar

>1) you would need a CVS repository structure file that is versioned, that lays
>out the directory structure for the repository, say add .struct to the repo
>name.

>/usr/local/myrepo/myrepo.struct,v
>---- the contents for revision 1.2 of myrepo.struct might be:

>./src:1.2:d2523
>./lib:1.5:d6343

>This is where directory names would be stored, to facilitate moves and renames.
>example, version 1.2 of directory file d2523, which is located at ./src from
>repository root.

>2) you would need a versioned directory file for each directory

>d2523,v
>---- the contents of d2523 version 1.3 might be:

>file1.java:1.8:f2344,v
>file2.java:1.12:f2345,v

>This is where filenames are stored to facilitate moves and renames. Same as for
>directories, version 1.8 of file f2344, is in directory d2523 version 1.3 and
>called file1.java

>Of course this would require much work in CVS, and haven't thought much about
>how the f####,v's and d####,v's would be stored in the repository since it is
>very unlikely something like this will be done. In any case, it may be helpful
>if the RCSfile format is extended to record each versions filename and
>location.

>CVS wasn't designed to version directories nor support renames and moves in the
>same manor as other tools. It makes sense the CVS would have to be redesigned
>to do so.

>--- End of forwarded message from address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]