[Top][All Lists]

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

RE: cvs add <directory>

From: Paul Sander
Subject: RE: cvs add <directory>
Date: Fri, 23 May 2003 14:59:34 -0700

>--- Forwarded mail from address@hidden

>Greg Woods wrote:

>> What, exactly, do you think directories are, anyway?  What is 
>> a "version" of a directory?  You can get yourself into a very 
>> nasty endless loop as soon as you try to think about 
>> versioning directories instead of just versioning your content.

>Well, directories *are* content - they represent a structure of
>information just like the text or binary files do, and they are
>orthogonal to the contents of the files themselves.

Quite right.  Directories carry with them minimally the metadata necessary
to map files in the workspace to their history containers in the repository.
Even CVS does it with the CVS/Repository file, which in my opinion is
insufficient to the task.

>I know that the CVS aficionados like to think of directories as just
>artifacts of some arbitrary file arrangement, but the actual directory
>organization is important in many (most) cases. 

>Consider, for instance, a product script setup that's checked in to CVS.
>If the product's directories are reorganized in the future such that
>files move around, it's important to be able to keep the file's history
>separate from that of its location in the tree, so that I can see a
>unified history of the file across that move. Having to "delete" the
>file from one location and "create" it another breaks the history chain.

Well, history is really a tree (not a chain) in non-trivial cases.  (It
becomes a graph if merges are remembered, but RCS and CVS don't do that.)
Relocating files should keep their history trees intact (and distinct from
those of all other files).  The branching and merging capabilities should
also work normally even if one of the contributors is on a branch that
didn't endure the reorg, or in the event that someone brings a workspace
up to date after the source code on his working branch was reorganized.

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

reply via email to

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