[p4] Versioning directories
jab at pobox.com
Tue Jun 1 17:51:39 PDT 2004
On Jun 1, 2004, at 4:11 PM, DAO, THOMAS (SBCSI) wrote:
> Some scm systems allow versioning of directories (Clearcase,
> and some don't (CVS, perforce),
> Just wanted to know what the advantages are for versioning directories
> and why not. Thanks
This is a long reply. Please forgive.
The question of "directories getting versioned" is really about
The high-level goal remains pretty obvious -- to be able to go back to
moment of time / event / milestone, and see exactly the state of the
world as it
existed at that instant.
Some systems try to do it by versioning directories....
It's difficult to version a directory unless you can notice every
that happens in that directory, as it happens. (The only SCM systems
I've seen that
attempt directory-level versioning are virtual filesystem
Clearcase, and the performance reflects that overhead.)
Others do it by versioning files, but making the act of retrieving the
set of files (at the right revisions) very, very fast...
The "Perforce" strategy optimizes the most common cases, and to make it
to "retrieve the world as it existed as of a certain date, milestone,
event". In this
case, they do it by turning the date/milestone/event into a list of
very quickly. (Relational databases, for well-designed applications,
are great things.)
There are a few "edge" conditions for each strategy. Renaming of files
can be a
headache, as can additions/deletions.
More information about the perforce-user