--- Forwarded mail from [EMAIL PROTECTED] > I've been using CVS for quite some time but still not very >much confident using it. I've been working on both Solaris/Linux >and Windows platform. Please let me know :-
>1) where I can find good resources on Configuration Management >in general, and CVS in particular. There's a book about applying CVS to configuration management. I don't remember the name, but "CVS" is in the title. I believe Karl Fogel is one of the authors. There are also a number of other books, including one written by Rational about ClearCase. >2) any site dealing particularly with job openings in >Configuration Management. Look at ABS Consulting and Parrus Technologies. They're consulting firms. I've also had good luck recently with hotjobs.com. >3) difference between CVS and ClearCase; and which one is >better? See below. In my opinion, ClearCase wins hands-down, but it's expensive. >4) where I can find good resources on ClearCase. I am very much >keen in learning ClearCase. From where can I get Trial >Software/Study material? There's the book I mentioned above. Rational also offers free month-long trials and at least two price points. See www.rational.com for more info. Also try registering on Rational Developer's Network at www.rational.net. --- End of forwarded message from [EMAIL PROTECTED] I currently use CVS at home, and ClearCase at work; my position is principal software engineer, specializing in software configuration management. I have 5 years' experience using and administering ClearCase, currently supporting nearly 100 users. I have 11 years' experience using and administering CVS, having supported several hundred users; and as of CVS v1.11 I'm still listed in the credits as a contributor to its sources. I wrote this list several years ago, and last updated it on May 30, 2002. At this time, the current release of CVS is v1.11.2, and the current release of ClearCase is v2002. Changing version control tools always exchanges one set of problems with another. Although ClearCase is far superior to CVS in many ways, keep in mind the following: - It costs several thousand dollars per user to license. - The number of supported platforms is fewer than CVS, however, they include the most popular ones: Solaris, HP-UX, AIX, Windows (NT and 2000), some versions of Linux. It also supports some less popular platforms, such as Unixware. (Note that Linux still requires careful configuration of particular versions of the kernel. People who are not expert Linux admins seem to have trouble getting them to work together.) - It runs a large number of server processes (some manage repositories, others manage users' work spaces, and still others serve global resources). They are quite resource intensive, requiring an efficient and reliable network as well as significant disk, memory, and CPU resources. - In prior releases, when shared workspaces are deleted, processes that manipulate them didn't fail; they hung and couldn't be killed. (Deleted workspaces remained visible under certain circumstances, and must be ignored.) However, the handling of these situations has improved over the years and they're no longer an issue. - ClearCase has one potentially serious scalability problem: Only one writer per database is permitted at a time. This limits the practical size of each repository and encourages layered build processes. Recent changes to the ClearCase lock manager have improved read-only throughput significantly. - Workspaces can be created in two ways: A working copy can be made in a standard filesystem (like CVS), or the preferred method in which the workspace is implemented as a new type of filesystem (requiring new drivers to be installed in the machine's kernel). The preferred method has a higher overhead than NFS, even if both the workspace and repository reside locally. - Remote filesystem access is required between client and server machines. Windows-only shops can use the filesharing mechanism supplied by Microsoft. In mixed NT/Unix shops, an interoperative solution is needed; several NFS clients are supported, as are some network file servers, and TAS from Syntax Systems. Some versions of Samba are supported on some operating systems, but it requires careful tuning of both Samba and the kernel. - ClearCase has a much larger feature set than CVS, and therefore it has a much higher learning curve. However, users can be productive using a small subset of its capabilities and grow into it. Administrators must have some in-depth knowledge; I recommend taking a week of training before deploying a significant process. New shops are strongly advised to develop some simple helpers and wrappers to enforce certain basic disciplines (e.g. ordinary users can't remove a database element) before deployment. - It is possible to "disconnect" files from workspaces, where the files are no longer visible but still use up resources. Recovery is possible (and it might even be possible to automate it) but there is no published procedure. - ClearCase' user model is quite different from CVS'. It uses the more traditional checkout/checkin model. However, ClearCase will seem more familiar if users are used to using "cvs edit". - Commit-time checkin message templates are not possible without writing lots of wrappers (or one huge one). - There is no counterpart to the modules database. - ClearCase does not perform well over a wide area network, but there are success stories of people using it in combination with a virtual private network. Creating workspaces using the copy-out method seems to be the more successful approach, but this configuration is not supported by Rational. But on the other hand: - ClearCase versions directories. (This can lead to the "evil twin" condition, in which distinct files having the same location in the filesystem exist on different branches. This problem is well-understood, and the user community has provided numerous methods to detect and prevent it.) - ClearCase treats binary files as first-class citizens. - ClearCase handles all of the border cases related to branching properly. (This feature and the one above make ClearCase worth adopting over CVS regardless of the other features and drawbacks, IMHO.) ClearCase also supports several branching models, including the sparse model that CVS supplies. - In addition to branches and labels, ClearCase supports attributes of versions and files/directories, and a way of relating file system artifacts together. (This latter feature can be used, for example, to remind an engineer to modify a header file if a corresponding implementation changes.) - ClearCase manages symbolic links, though they are not treated as first class file system artifacts (i.e. they are not versioned and cannot have attributes). - ClearCase work spaces (using the preferred method) can be mounted via NFS on unsupported platforms. Workspaces using the copy-out method can be shared by any means available. - ClearCase has the notion of a file "type" and allows refinement of the handling of each type. Refinements include the basics, such as the way revisions are stored in the repository, and the merge tools. - ClearCase records merge history between versions, making automatic selection of common ancestors during merges intelligent. In other words, the results of old merges don't appear as conflicts later. - There are many more opportunities to enforce a meaningful process than simply pre- and post-checkin triggers. - Users perceive greater productivity because workspaces are not maintained by copying large amounts of data (when using the preferred method). - ClearCase has quantity discounts that reduce the price faster than some other commercial systems. - Merge tools (text-based and graphical) are interactive by default. - ClearCase' access control is both more flexible and more controllable at a number of levels. - ClearCase can audit the prerequisites of derived files automatically, and offers more opportunities to share identical derived files (thus reducing build time). However, under load, this feature is the one that appears to cause the most repository corruptions. Many shops dedicate special repositories to this specific function because the data stored in them can be lost with relatively little cost. - ClearCase provides a parallel, distributed Make (and it has a "pretty good" Gnu Make compatibility mode). - ClearCase can now support a user model closer to CVS, in that users are permitted to check out versions that are not the latest on their branch. Merging forward remains well supported. - ClearCase has an (expensive) option to replicate repositories across multiple sites. - ClearCase ships with an optional change management model that adds a powerful layer of abstraction over simple versioning. Changes to a project that span multiple files and directories can be manipulated as a unit, bringing all of ClearCase' more primitive capabilities to bear. This is a recent addition to ClearCase; it's in its fourth minor release, and is gaining in popularity. Although it is improving, I personally consider it to lack a critical feature: Implementing a process that enforces all merges onto integration branches to be trivial (copy) merges can only be done in a way that involves a high overhead. It also works best with Rational's ClearQuest bug tracking system. - ClearCase lends itself better to process automation than CVS does. CVS' exit codes are unpredictable: Although they are always zero upon success, they can sometimes be zero in the presence of failures, and the specific values are related in a complicated way to the number of files experiencing problems. ClearCase' exit codes are predictable. Another personal observation is that ClearCase is easier to administer than CVS. My experience with ClearCase is that, once installed on a reliable server and network, it just runs. ClearCase is very good about recovering from user errors, whereas CVS sometimes is not. Corruptions of ClearCase databases are rare (I've experienced just two, and both were recoverable without the use of backups) and users must work to corrupt their workspaces. ClearCase databases are in a proprietary format that discourages users from mucking with them. CVS, on the other hand, stores everything in familiar ways, sometimes leading users to believe that they can modify things without the benefit of CVS and thus causing problems. CVS also allows users to create workspaces inside the repository, which results in interesting artifacts. Most of my time spent administering CVS has been in cleaning up these types of errors. That overhead is (for me) much higher than babysitting ClearCase. One of my biggest gripes about both ClearCase and CVS is that they don't support long transactions. Their absence makes certain process features difficult or impossible to implement well. For this reason, I also recommend taking a close look at commercial products from SQL Software and Continuus. If you're just starting out and you have the budget, by all means go the commercial route. ClearCase is not without problems, but it gives me far fewer problems in large programming efforts than CVS does. If you already have a CVS repository, Rational supplies a conversion tool that is said to be pretty good. On the other hand, CVS is cheap and it prefers to work in many common situations. You have source code, so you can potentially fix bugs in-house faster than a technical support staff can (although source code does not offset poor design). And the overhead in terms of computing resources is much less than that of ClearCase. The comp.software.eng newsgroup has a FAQ list that gives names of products and companies, contact info, and URLs for a couple dozen source control tools. _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
