[p4] ClearCase vs. Perforce
Stephen Vance
steve at vance.com
Mon Jun 11 18:02:27 PDT 2001
At 10:30 PM 6/11/2001 +0200, axel.wienberg at coremedia-ag.com wrote:
>Just a small, but important point about directory versioning: It is not
>necessary to version directories to handle renames; it suffices to version
>the location of individual files. That is, the association between
>directories and contained files can be stored either in the directory
>("which files do you contain?") or in the file ("which directory are you
>contained in?") Two systems to do the latter are Teamware and Bitkeeper:
>They store the full path in each file's version history, effectively
>versioning rename operations.
The weakness here is that you still can't support hard links (the same
underlying file in two logical locations). CC can do this, although there
are some annoying semantics when you check one out for edit. Most others
can't.
>An advantage of versioning the path compared to versioning directories is
>that two users can independently add files to the same directory, without
>having to perform an additional merge operation on the directory
>itself. Another advantage is that the user does not have to bother about
>directories, because they are not modelled as first-class entities, but
>are created and deleted as needed. One concept less to be learned.
You have the same advantage in not version directories at all, as Perforce
does.
>The disadvantage of the Teamware/Bitkeeper solution is that in order to
>rename a directory hierarchy, you have to touch every single file
>contained within it (because a file's path includes the names of all
>superdirectories), and the semantics of merging renames need some getting
>used to. However, this caused no actual problems when we used teamware.
This is true of all systems I've encountered. Since CC separates name from
storage, it only has to touch all the names, but it has to touch all of
them. Since Perforce essentially branches and deletes the file, the same
is true.
Stephen Vance
mailto:steve at vance.com
http://www.vance.com/
More information about the perforce-user
mailing list