Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!newsfeed.stanford.edu!canoe.uoregon.edu!elk.ncren.net!SonOfMaze.dpo.uab.edu!news-ext.gatech.edu!peerfeed.news.psi.net!filter.news.psi.net!psinr!client!not-for-mail
Mime-Version: 1.0
X-Newsreader: knews 1.0b.0
From: [email protected] (Dave Eaton)
Subject: comp.software.config-mgmt FAQ: General Questions
Newsgroups: comp.software.config-mgmt,comp.answers,news.answers
Summary: Software Configuration Management general questions.
        Part 1 of 3 related CM posts.
Keywords: FAQ, CM, SCM, Software Configuration Management
Followup-To: comp.software.config-mgmt
Reply-To: [email protected]
Expires: 23 Sep 2002 17:00:00 GMT
Approved: [email protected]
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Lines: 1238
Message-ID: <Xxtf9.2$wH3.195@client>
Date: Tue, 10 Sep 2002 21:32:39 GMT
NNTP-Posting-Host: 206.7.12.104
X-Trace: client 1031693559 206.7.12.104 (Tue, 10 Sep 2002 17:32:39 EDT)
NNTP-Posting-Date: Tue, 10 Sep 2002 17:32:39 EDT
Xref: senator-bedfellow.mit.edu comp.software.config-mgmt:27931 comp.answers:51333 news.answers:237620

Archive-name: sw-config-mgmt/faq
Last-modified: 2002/09/10
Version: 9.0
Posting-Frequency: monthly

           Configuration Management Frequently Asked Questions

Introduction

  This is the Software Configuration Management Frequently Asked
  Questions (FAQ) file for the newsgroup comp.software.config-mgmt. It
  has been compiled from many sources, predominantly from contributors
  to the newsgroup. Many thanks to all contributors.

  In the newsgroups, this message should be followed by two others, each
  summarizing a different area of configuration management:
    * Subject: comp.software.config-mgmt FAQ: General Questions (this
      text)
    * Subject: comp.software.config-mgmt FAQ: Configuration Management
      Tools Summary
    * Subject: comp.software.config-mgmt FAQ: Problem Management Tools
      Summary

  Like most FAQ lists, these parts are archived at rtfm.mit.edu (and
  various other sites which archive FAQs, such as http://www.faqs.org/).
  The parts are named:
    * cm-tools = Configuration Management Tools Summary (this document)
    * faq = General Questions
    * prob-mgt-tools = Problem Management Tools Summary

  and may be found in directory
  pub/usenet-by-group/comp.answers/sw-config-mgmt. Those new to the
  newsgroups should read news.announce.newusers for general information.

  For those with World Wide Web access, hyperlinked HTML versions of
  these documents are available via: http://www.daveeaton.com/scm/
  (If you type in this URL, remember that it is case sensitive.) These
  are updated throughout the month as changes come in. A letter is added
  to the version number and the date is changed with each edit to help
  you determine if you've already seen it.

 Not Official Statements

  Please use the summary below in the spirit with which it has been
  supplied: for information only. These statements are composites and do
  not represent official positions by any particular responder's
  company. Remember that these users may not be commenting on the
  current version of a product. It is recommended that you do your own
  research before making a tool decision for your company.

 Sharing Of Information

  This document, as a collection of information, is Copyright 1995-2001
  by Dave Eaton. It may be freely redistributed in its entirety provided
  that this copyright notice is not removed. It may not be sold for
  profit or incorporated in commercial documents without the written
  permission of the copyright holder. This article is provided as is
  without any express or implied warranty. The content is the sole
  responsibility of the author and contributors, and does not
  necessarily represent the position of their employers nor an official
  position or opinion of and company. Please contact the FAQ editor
  regarding changes.
    _________________________________________________________________

 Newsgroups line:

  comp.software.config-mgmt Configuration management, tools and
  procedures.

 Other Information

  Various products mentioned in this FAQ are the trademarks of their
  respective companies.

  All parts of this FAQ are posted to this newsgroup on or about the
  22nd of each month. (This is done manually and sometimes work
  interferes with this posting, please excuse any delays.)

CHARTER

  Comp.software.config-mgmt is intended to be a forum for discussions
  issues related to configuration management (CM), both the bureaucratic
  procedures and the tools used to implement CM strategies. CM is a
  corner-stone in software development, and has a very broad spectrum.
  For small shops developing non-critical products, perhaps all you need
  is RCS or SCCS and some makefiles. For large or safety-critical
  systems, a more sophisticated process and implementation may be
  required - possibly one integrated with change management and problem
  management.

 What this is not.

  If you are not sure what we mean by CM (or SCM), please see our
  definition in question [1.2] below. If you still think this will help
  you with your PC hardware or application configuration, you are
  mistaken. Please see question [1.10] below for some suggestions of
  other more appropriate newsgroups for your question -- do not post it
  to comp.software.config-mgmt or write to the FAQ editor about it.
  Thank you.

  This is not a definitive list of all available tools, nor is it
  intended to be. It is not a recommendation or endorsement of any of
  the tools mentioned. As noted above, it is a composit of opinions from
  the comp.software.config-mgmt newsgroup. If you have a tool you would
  like others to know about, please join the discussion.
    _________________________________________________________________

 ** What's New this Month? **

  1. Minor edits

  While there have been other topics discussed in this newsgroup, I
  tried to pull together some highlights here. All comments, content and
  format suggestions, and submissions for future versions are welcomed.

  This version is cross posted to comp.answers and news.answers and is
  archived at the usual public archive sites for *.answers FAQs. Those
  new to the newsgroups should read news.announce.newusers for general
  information.

  Please send your comments and suggestions for improvements to the FAQ
                                 editor:
                        [email protected] (Dave Eaton)
    _________________________________________________________________

--[ Table of Contents ]--

[1.0]   === GENERAL QUESTIONS ===
[1.1]   I have heard about this group (comp.software.config-mgmt) from
       cross-postings in other groups, but it's not in my news offering.
       How can I get it?
[1.2]   What is (Software) Configuration Management (CM or SCM)?
[1.3]   How does Problem Management relate to Configuration Management?
[1.4]   What Configuration Management tools are available?
[1.5]   What Problem Tracking tools are available?
[1.6]   What inexpensive (UNIX-like) CM tools are available for a DOS platform?
       (Well-established shareware or relatively inexpensive vendor tools.)
[1.7]   Where else can I look for configuration management information?
[1.8]   How can a vendor get information into the product summaries?
[1.9]   What user and vendor comments are appropriate here?
[1.10]   How do I reconfigure my PC or its applications?
[1.11]   How can I do CM in a mixed platform network?
[1.12]   Will a sophisticated CM system solve my problems?
[1.13]   How should a CM system relate to process enforcement?
[1.14]   What is the "best" CM tool to use?
[1.15]   How should I version control my Web site?
[1.16]   Are job postings permitted in this newsgroup?
[1.17]   What is the history of Revison Control and Configuration Management?
[1.18]   How can a user add information to this FAQ?
[1.19]   What are the benefits of SCM?

[2.0]   === BOOKS ABOUT CONFIGURATION MANAGEMENT ===
[2.1]   Software Configuration Management
[2.2]   Software Engineering, chapter 29, Configuration Management
[2.3]   Software Configuration Management
[2.4]   Methods and Tools for Software Configuration Management
[2.5]   Software Configuration Management
[2.6]   Configuration Management Tools: a Detailed Evaluation
[2.7]   Software Management Technology Reference Guide
[2.8]   Implementing Configuration Management: Hardware, Software and Firmware
[2.9]   Configuration Management for Software
[2.10]  Multi-Platform Code Management
[2.11]  Configuration Management Models in Commercial Environments
[2.12]  Software Shock, the danger and the opportunity
[2.13]  Configuration Management: The Changing Image
[2.14]  Applying RCS and SCCS
[2.15]  Practical Software Configuration Management:
       The Latenight Developer's Handbook
[2.16]  Practical CM:
       Best Configuration Management Practices for the 21st Century
[2.17]  A Guide to Software Configuration Management
[2.18]  Configuration Management, The missing link in Web Engineering
[2.19]  Configuration Management, the changing image
[2.20]  Principles of Configuration Management

[3.0]   === PRODUCT SPECIFIC QUESTIONS ===
[3.1]   May I post specific questions about ClearCase here?
[3.2]   Is there a tutorial someplace on RCS?
[3.3]   It seems SCCS doesn't have a $Log$ like RCS does. Am I correct?
[3.4]   Is there a tool to convert SCCS data to RCS format?
[3.5]   Why do I get Ctrl-M characters in my CVS files?
    _________________________________________________________________

--[ Topics ]--
    _________________________________________________________________

[1.0] === GENERAL QUESTIONS ===

 [1.1] I have heard about this group (comp.software.config-mgmt) from
 cross-postings in other groups, but it's not in my news offering. How can I
 get it?

    Talk to your local system administrator. All sites do not
    automatically create new groups as they are initiated. Also, some
    readers do not automatically show you all new groups as they become
    available at your site. In addition, most newsgroup reader software
    (including tools such as Web browsers which may be used for that
    purpose) need to be configured to point to your provider's news
    server. Be certain yours is configured correctly. Perhaps you have
    access to comp.software.config-mgmt and do not realize it.

    If you still have problems, try looking into something such as the
    NewsGuy.com service (http://www.newsguy.com) or deja.com
    (http://www.deja.com) which also provides Web-access to recent
    articles.

 [1.2] What is (Software) Configuration Management (CM or SCM)?

    There are a number of different interpretations. For purposes of
    this newsgroup, we are talking about tracking and control of
    software development and its activities. That is, the mangement of
    software development projects with respect to issues such as
    multiple developers working on the same code at the same time,
    targetting multiple platforms, supporting multiple versions, and
    controlling the status of code (for example beta test versus real
    release). Even within that scope there are different schools of
    thought:
    * Traditional Configuration Management - checkin/checkout control of
      sources (and sometimes binaries) and the ability to perform builds
      (or compiles) of the entities. Other functions may be included as
      well.
    * Process Management - control of the software development
      activities. For example, it might check to ensure that a change
      request existed and had been approved for fixing and that the
      associated design, documentation, and review activities have been
      completed before allowing the code to be "checked in" again.

    While process management and control are necessary for a
    repeatable, optimized development process, a solid configuration
    management foundation for that process is essential.

 [1.3] How does Problem Management relate to Configuration Management?

    Many organizations choose to integrate their problem management and
    classic configuration management tools to gain better control of
    their development activities and to improve quality.

    Problem management may include call tracking, problem tracking, and
    change management. These are described more completely in part 3 of
    this FAQ.

 [1.4] What Configuration Management tools are available?

    Check the list of open source, free, public domain, and commercial
    vendor CM tools in part 2 of this FAQ, CM Tools Summary.

 [1.5] What Problem Management tools are available?

    Check the list of open source, free, public domain, and commercial
    vendor problem management tools in part 3 of this FAQ, PM Tools
    Summary.

 [1.6] What inexpensive (UNIX-like) CM tools are available for a DOS platform?
 (Well established shareware or relatively inexpensive vendor tools.)

    Check the list of free and commercial vendor CM tools in part 2 of
    this FAQ, CM Tools Summary.

 [1.7] Where else can I look for configuration management information?

    Topics related to software configuration management are discussed
    in other newsgroups as well. One such group is:
     comp.software-eng    Software Engineering Issues

    Its FAQ will direct you to other possible groups to check, as well.

    Try the CM Working Group mailing list which covers both hardware
    and software CM. Send email to [email protected] and in the
    body put:
    subscribe CMWG

    Some products have their own email lists to assist users. Check
    with your vendor. See information elsewhere in this FAQ about:
     [email protected]   ClearCase International User Group mailing list

    A number of sites are providing CM information via the World Wide
    Web. Some of these are:
    * The CM FAQ set (these documents) at http://www.daveeaton.com/scm/
    * CM Specialist Group of the British Computer Society at
      http://www.bcs.org.uk/siggroup/sg57.htm
    * Some research papers about CM are available at
      http://wwwsel.iit.nrc.ca/projects/scm/
    * A list of WWW sites for CM (including some Macintosh information)
      at http://wwwsel.iit.nrc.ca/favs/
    * A searchable software engineering bibliography with a subsection
      devoted to CM at
      http://liinwww.ira.uka.de/bibliography/SE/index.html
    * R. S. Pressman & Associates, Inc. Software Process Improvement &
      Software Engineering Resources information online at
      http://www.rspa.com/spi/SCM.html
    * A copy of the Software Engineering Institute Capability and
      Maturity Model (SEI/CMM) may be found at http://www.sei.cmu.edu/
    * Linux Configuration Management and Version Control at
      http://linas.org/linux/cmvc.html
    * Macintosh Version Control (a summary of Mac tools) by Richard
      Wesley at http://www.electricfish.com/hawkfish/macvcs/
    * Problem Management & Bug Tracking for Linux at
      http://linas.org/linux/pm.html
    * MIL-STD-498 Software Development and Documentation at
      http://www-library.itsi.disa.mil/mil_std/std498.html Its purpose
      is to establish uniform requirements for software development and
      documentation. It merges DOD-STD-2167A and DOD-STD-7935A.
    * Brad Appleton's Software Configuration Management (SCM)
      definitions at http://www.enteract.com/~bradapp/acme/scm-defs.html
    * CM Today - "Your Source for Daily Configuration Management News"
      at http://www.cmtoday.com.
    * "Evaluation and Selection of Automated Configuration Management
      Tools" at
      http://www.stsc.hill.af.mil/crosstalk/1995/nov/evaluati.html
    * "Software Configuration Management Tools: Getting Bigger, Better,
      and Bolder" at
      http://www.stsc.hill.af.mil/CrossTalk/1996/jan/cmtools.html
    * "The Software Configuration Management Technology Report" at
      http://www.stsc.hill.af.mil/cm/index.asp
    * "RAVEN Configuration & Project Management" at
      http://www.configuration.org/
    * TechStreet offers various engineering standards (including some
      concerning SCM) for sale to their customers at
      http://www.12207.com/
    * Chrooted SSH CVS server HOW-TO at
      http://www.idealx.org/prj/idx-chrooted-ssh-cvs/dist/chrooted-ssh-c
      vs-server.html

    SCM training is available from several sources. Some of these are:
    * Association for Configuration and Data Management (ACDM) at
      http://www.acdm.org
    * Institute of Configuration Management at http://www.icmhq.com
      This is not a 3 or 4 day "introduction". CMII training usually
      incorporates about multiple 3-days courses for a CM certification.
      There is a strong hardware focus.
    * GfKM - Gesellschaft f�r KonfigurationsManagement at
      http://www.gfkm.de offers the CMII process of the Institute of
      Configuration Management (see above) in German language in all
      German speaking countries. They also offer individual workshops
      and special basic CM classes.
    * Integrated Support System at http://www.isscorp.com
      Course is reportedl a basic 3 or 4 day intro to SCM.
    * Learning Tree at
      http://www.learningtree.com/us/ilt/courses/342.htm
      Offers a basic SCM course that is about 4 days long.
    * System Technology Institute at http://www.stitraining.com
      STI offers two SCM courses, Software Configuration Management
      Fundamentals and Practical Implementation of Software
      Configuration Management. This company offers advanced training
      courses and advanced certification for students who demonstrate
      advanced knowledge of SCM in the form of a thesis paper.
    * Technology Training Corporation at http://www.ttcus.com
      TTC offers Effective Software Configuration Management and
      Advanced Configuration Management classes. They also offer
      hardware CM classes.

    Additional WWW sites are listed at the ends of other segments of
    this FAQ:
    * Configuration Management Tools with World Wide Web sites
    * Problem Management Tools with World Wide Web sites

 [1.8] How can a vendor get information into the product summaries?

    If you know of a tool you believe should be represented in one of
    the CM FAQ product lists, first please make certain it actually
    relates to software configuration managment, the topic covered by
    this FAQ. (For example, Help Desk tools have their own FAQ and are
    not covered here.) If it appears the tool should be included,
    please send the product name, preferred company address, phone,
    email (if any) contact information and supported platforms to the
    editor:
     [email protected]

    so it may be included in the address portion of a future issue.
    Please follow the format used in the product summaries. Error
    corrections to this information are also accepted from vendors.

    By request, the content of these FAQs is intended to be
    user-supplied, relatively short, and free from obvious extremes of
    opinion. (There are plenty of opportunities for company advertising
    elsewhere.) If you want to have a paragraph or two included, please
    have a user or customer post their views to the newsgroup (copying
    this editor via email would help ensure that it is seen.) Such
    additions will be edited, combined with other responses, and
    included in the product summary section of a future issue as time
    permits. (If your customers do not post to this newsgroup and
    cannot be encouraged to do so, vendors may submit two or three
    factual, non-marketing sentences to describe their product. These
    may be edited and included at the discretion of the FAQ editor as
    time permits.) Vendors are invited to correct any erroneous factual
    information noted in the FAQs.

    Features described should represent existing product, not future
    plans. The one exception which has proven of value is to allow the
    FAQ to indicate platform ports in progress which will be delivered
    "soon". This should help customers determine candidate tools, since
    there is a long lead time required for a site to choose and
    implement a CM environment.

    Users should refer to the answer to question [1.18].

 [1.9] What user and vendor comments are appropriate here?

    Heated discussions often have been raised in this newsgroup
    concerning what are appropriate comments from vendors and users.
    While there is no desire to eliminate meaningful contributions from
    either segment of the population, keeping these guidelines in mind
    should help hold down the "flames".
    * If you are new to news, read "news.newusers.questions" and related
      FAQs before posting here. Most FAQs are posted in "news.answers"
      and related "*.answers" groups and archived at rtfm.mit.edu and
      elsewhere. Also, read the other segments of the FAQ for this group
      and read the articles in this group for a while before posting
      your own comment.
    * If someone asks about a tool that has features xyz or helps to
      solve problem xyz, vendors should refrain from posting "my tool
      does that" responses which would clutter the newsgroup. Of course,
      any private email response may be made at the vendor's or user's
      discretion. As always, users are encouraged to summarize pertinent
      email to the newsgroup.
    * If someone asks for people's experience using a tool, then the
      vendor of the tool should not offer any opinion. Please leave it
      to users.
    * If someone asks for a comparison of tool x with tool y, then
      neither vendor x nor vendor y should offer any opinion. Please
      leave it to users.
    * Vendors are allowed and encouraged to comment upon and clarify
      issues raised by others on the use of their tool. The discussion
      should stay technical and "what the tool does" as opposed to "this
      way is better than this other way". This is one of the main ways
      vendors can contribute to discussions here.
    * Vendors are allowed and encouraged to make brief announcements of
      significant new versions or products which are shipping now. It
      would be best if this announcement pointed readers to other
      sources for more information (such as FTP and WWW sites or email
      lists.)
    * Vendors are requested not to send unsolicited mass email (spams)
      concerning their products to people who post on this newsgroup.
      These are usually unappreciated and tend to have a negative impact
      on recipients. A short, appropriate post to the newsgroup as
      described above would be preferred.

 [1.10] How do I reconfigure my PC or its applications?

    Although questions about PC hardware configurations, changes to
    ".INI" files and ".BAT" get posted to this newsgroup, they should
    not be. Please review available FAQs or consult articles on
    newsgroups such as: comp.sys.ibm.pc.*, comp.os.ms-windows.setup,
    comp.os.ms-windows.apps.misc, comp.os.msdos.apps, comp.os.os2.apps,
    or comp.os.ms-windows.nt.setup. Please review the charter of this
    group and our definition of CM above before posting here.

 [1.11] How can I do CM in a mixed platform network?

    The basic setup is that you put your source code repository on a
    central machine and everybody accesses that repository. Within this
    model, however, there are four variations, driven by two factors.
    One factor is if the CM tool is available on the client hosts or if
    you have to log into the central host to use it; the other is
    whether the CM respository is on a network filesystem such as NFS,
    Novell Netware, NetBEUI, etc.

    The four variations are then:

   1. No client CM tool / No NFS.
      This is truly the poor man's solution: you must telnet or
      otherwise log into the central repository host, check out files,
      and then manually move the files back to the client host (e.g.
      with FTP). When you are finished, you reverse the process: move
      the files to the repository host, log in and check in the files.
      No one likes this solution, but there are two cases where you have
      no choice: first, in mixed UNIX/DOS/MAC environments, where NFS
      support is poor; second, in geographically distributed
      environments, where NFS isn't viable.
      All CM tools can be used in this way.
   2. No client CM tool / Has NFS.
      This is one step better. In this case, you still have to log into
      the central repository host to check out or in files, but you can
      access those files directly from your client host, without having
      to copy them back and forth.
      This solution is not exactly loved either, but is the fallback
      when the CM tool vendor doesn't support all your platforms. For
      example, you might have ClearCase installed and running on a
      Solaris host, exporting the managed files via NFS to a Linux host.
      When you have a limited number of "second class", unsupported
      platforms, this works fairly well.
      There is a major wrinkle with this approach due to the different
      line separators in text files: LF on UNIX, CR on Mac, CRLF on DOS.
      NFS doesn't translate these for you, and all sorts of programs
      (most notable diff(1)) fumble when the separator is wrong.
      All CM tools can be used in this way, as long as they are running
      on platforms that have some form of NFS.
   3. Has client CM tool / Has NFS.
      This is first class, transparent CM, where users check out, work
      on, and check in files as if the files were on their local disk.
      In some cases both the repository and the checked out, working
      files are on the shared network disk. In other cases, working
      files are actually on the local disk.
      This approach usually suffers from line separator problems as
      well.
      Freely available tools which can be used in this manner are RCS,
      SCCS, and CVS. Although not designed explicitly for this
      configuration, they are not disturbed if the repository is on a
      shared network disk. The problem with doing this with RCS and
      SCCS, however, is that the client's working files are usually
      "right next to" the repository files, making it hard to move the
      working files off the shared network disk and onto a local one.
      CVS is better for this.
      Commercial systems such as PVCS, MKS Source Integrity, and
      Microsoft's SourceSafe also rely on NFS-style access to the
      repository, but have better support for separating the working
      files from the repository.
      Other tools have populated the client workspace is with symbolic
      links into the repository (except for files on which the user is
      working).
      ClearCase has the most elaborate NFS-based solution, interposing
      its own filesystem (MVFS, the multi-version filesystem) between
      the user and the shared repository, making the versioning
      virtually invisible to the user.
   4. Has client CM tool/No NFS.
      For this, the CM tool must find its own way to the files in the
      repository, without directly sharing the repository filesystem.
      From the user's perspective, this approach can be as functional as
      using NFS, but that depends as much on the actual tool as anything
      else.
      CVS has a mode where it can access its repository on a central
      host in a manner similar to using rsh(1). The commercial system
      Perforce accesses its repository using its own protocol directly
      over a TCP/IP connection.
      Because this approach dosn't use NFS, it isn't limited to
      environments where NFS is supported. Both CVS and Perforce, for
      example, can be used across the Internet.

    It should be noted that few tools are available on all platforms.
    You'll probably need to balance the features you want with the
    platforms you want supported.

 [1.12] Will a sophisticated CM system solve my problems?

    Discussed in many forms on this newsgroup, the simple answer is no,
    there is no silver bullet tool which can solve all configuration
    management problems by itself. Any good CM tool which provides
    version control is a great benefit over manually keeping copies of
    files in alternate directories. Including build management can
    provide tremendous increases in productivity. Some organizations
    will choose to use a tool which can provide some degree of process
    management. The level of sophistication required will depend upon
    the complexity of the software being developed and the size and
    dynamics of the organization doing the development. Budget may
    dictate what tools can be considered. As always, local CM
    requirements should be determined before a CM tool investigation is
    undertaken. (See also the answer to [1.19] What are the benefits of
    SCM?)

 [1.13] How should a CM system relate to process enforcement?

    This is a very controversial topic and many good discussions have
    been held in this newsgroup. Some frequently voiced ideas include:
    * CM is a "Good Thing".
    * CM is intended to help developers.
    * Integrating CM into a development environment should be
      "evolutionary", and not "revolutionary". It takes time and
      iterations to do it right.
    * Develop a proven, bulletproof implementation of an integrated
      CM/Development process, then apply it from day one on new project.
    * Automation of a good CM process improves the likelyhood it will be
      followed and can improve productivity and quality.
    * Automation of a bad CM process can be worse than no automation.

    Chances for success may be improved if you first establish a
    process on which both the CM and development staff can agree.
    Consider the capabilities of the tool you will use and automate the
    process in a non-intrusive manner as much as possible. Process is
    very site specific.

 [1.14] What is the "best" CM tool to use?

    This is a loaded question without an answer. The real answer to
    this question is ... it depends!! "Best" is relative to the
    environment, culture, and goals of the organization you are working
    in. One site's best may be ClearCase or TRUEchange, another PVCS or
    CM Synergy, all for very good reasons. Some sites select multiple
    tools to meet different project needs. Each was a "best" for that
    situation. Your source code's future depends on how well you manage
    its past. Development teams need to track a project's entire
    history and rebuild past versions quickly and accurately-with 100%
    assurance of reliability and integrity-every time. Your tool
    selection deserves a lot of thought. It would be best to check the
    product literature and the other parts of this FAQ for possible
    solutions, then do your own evaluation.

 [1.15] How should I version control my Web site?

    This is a special case of SCM and may be a bit outside the
    traditional scope of this newsgroup. Many posters have indicated
    they are using their CM tool of choice to manage versions of their
    Web sites. Tools frequently mentioned include ClearCase, RCS, CVS,
    MKS, and Aegis. Refer to Part 2 of this FAQ for more information
    about these and other tools.

    There are now some products available which address Web site issues
    specifically. These include products such as a Web-based management
    system, Intra.doc!, from IntraNet Solutions, Inc. More
    comprehensive answers may be found on one of the
    comp.infosystems.www.* newsgroups.

 [1.16] Are job postings permitted in this newsgroup?

    The consensus of the readers of this newsgroup is to permit short,
    tasteful, "jobs offered" postings which are identified as such in
    the subject line and which include the location of the job. A
    preferred subject format would be: "Job: <Location>: <Type of job>"
    Offers from the hiring organization would be preferred. Headhunter
    firms are requested to group offers into a single or small number
    of posts and limit the frequency with which they post. It is
    preferred that "jobs wanted" postings be avoided in this newsgroup.

    In addition, job posters and seekers may want to refer to CM
    Today's Configuration Management Job Listings at
    http://www.cmtoday.com/cmjobs/.

 [1.17] What is the history of Revison Control and Configuration Management?

    This subject would take more room than is possible in the FAQ. An
    abbreviated, though still rather lengthy, summary of recollections
    from many contributors on the newsgroup is provided here for
    reference.

    As soon as "software" began being created, there was a need to
    change it. The first "configuration management" was done manually.
    (Have you ever saved a patch-panel board for use and comparison
    later?)

    As binary computers and their software grew, tools began to be
    created to help manage the software and the changes to it. On the
    mainframes, revision control systems were used early on as update
    systems which typically combined manual editing plus revision
    control plus some CM. Another branch was the hardware CM systems,
    basically fancy bill of materials systems. A third branch of CM
    were manual and semi-automated systems based on mil-specs. A fourth
    branch of CM consists of the UNIX tool set utilities and their
    clones.

    In early cases, the source or binary of the programs were typed on
    typerwriter-style machines and stored on physical media such as
    punched paper tape and punched cards (yes, this was pre-video and
    pre-magnetic media days - no file systems). Frequently there were
    methods of punching leader or lead cards with patterns which could
    be recognized and read by humans to identify the program and its
    revision number or date by looking at the tape or card deck.
    Complete copies of the paper tape or card decks were kept to enable
    developers to return and maintain earlier versions. "Golden
    releases" consisted of punching mylar tape rather than paper tape.
    (Of course the mylar tape didn't get out of order if dropped and
    wasn't erased by being placed near a magnet.)

    As technology advanced, the physical media migrated to magnetic
    media. Reels of tape were archived. The advent of smaller media
    with larger capacity gave rise to the "floppy in the drawer" method
    of version control, but version control was still manual in many
    development shops.

    The early software configuration management process was manual,
    also. The "checkout" process often consisted of writing the
    developer's name on a paper or blackboard next to the module name.
    "Checkin" was accomplished by erasing the name. A more "modern"
    manual process used items such as colored map pins in a cork board.
    Each developer was assigned a pin color and their pin was placed in
    successive boxes beside each module's name to migrate who had
    rights to edit, load, and test a particular software module through
    its development cycle.

    (Aren't we glad we have tools that can do these tasks for us
    today?)

    In the late 60's Early 70's, Professor Leon Presser at University
    of California Santa Barbara did a thesis on change and
    configuration control. This concept was a response to a contract he
    was working on with a defense contractor who made aircraft engines
    for the Navy. As you can guess, the AirForce also wanted to
    purchase that "exact" same engine, plus or minus about 14 million
    modifications.

    This requirement eventually grew into a commercially available
    product in 1975 called Change and Configuration Control (CCC) which
    was sold by the SoftTool corporation.

    The mainframe update systems, of which IBM's IEB_UPDATE and CDC's
    Update were the most important, accepted as input update decks (all
    of these systems were card based) which were basically difference
    sets, i.e., edit decks that said to insert code, delete code, and
    replace code. (Line editors date back a ways but it wasn't until
    the 1970's that they were integrated into the CM cycle.) A key
    distinction between these systems and the SCCS/RCS style systems is
    that the update sets always referenced insert and delete points in
    terms of record identifiers (which did not change from version to
    version) rather than line numbers as in file differencing systems.

    Similar change code schemes were used for other systems in the
    1970's to regenerate paper tape sources based upon the line or
    record number where the change was required. The new paper tape
    would then be read into the assembler or compiler to create the
    binary and saved as the next "version" in the cycle.

    By 1970, CDC update was an advanced product. IBM UPDATE was much
    more primitive. Columns 73-80 were used for holding sequence
    numbers; you could only insert between sequence numbers. It appears
    to have started as a deck patch system dating back before the 7090;
    we are talking early 1960's or even late 1950's here. The later
    versions had a hierarchy of control; a control deck could specify
    which updates were to be applied to which decks. In turn control
    decks could select other control decks.

    IBM's system was fairly clearly derived from patching (e.g., the
    UNIX patch program) which was a common thing to do in early years,
    both to source code and (perversely) to object code.

    The most sophisticated of these early systems was CDC's update
    which combined revision control, change sets, preprocessor
    directives, and build management into one package, albeit with a
    heavy FORTRAN slant. (The system continued on for quite some time
    and eventually incorporated file differencing for delta
    generation.)

    There have been quite a variety of build managers. The venerable
    "make" dates back to the early 1970's. Concurrent with "make" were
    a number of quasi-expert build managers that were more or less
    tailored to specific operating systems. These systems tended to
    rely on knowledge of system conventions rather than description
    files and were much more convenient that "make". Thus in IBM's
    VM/CMS and in TOPS-20 one could simply issue a link command (or
    equivalent) and the linker could figure out which files had to be
    compiled and linked. The general weak point of these systems were
    their OS and environment dependence. A specific weak point is that
    they preceded the spread of "include directives" which make the
    build management problem more complex.

    One of the functions of CM is version archiving. Such systems also
    have a long history, both in the mainframe world and in the
    minicomputer world. The mainframe products, e.g., panvalet, tended
    to be more sophisticated in the early years but by and large did
    not keep up with the times.

    The UNIX branch is the source of most of the current commercial CM
    tools, most of which got started in the 1980's. A notable exception
    is CCC which started out as a mainframe CM product. The predecessor
    to TrueChange started out as a cross-platform minicomputer CM
    product.

    The free UNIX line of tools began in the mid 1970's and includes
    SCCS [Roc75], RCS [Tic82], CVS. SCCS and RCS are file versioning
    systems; as such they are utilities in a CM system. At a minimum a
    CM system has to manage collections of files. CVS was later
    extended to include more of the functions required of a CM system,
    though not all.

    Basically SCCS interleaves directives (delta identifiers and insert
    and delete directives) in with the code. There are no absolute
    identifiers as such but they are deducible. CDC update
    straightforwardly identified a record by its originating cset (the
    term goes back to them) and the offset within cset (i.e., foo.100
    was the 100'th record inserted by foo).

    SCCS directives have to be nested within the file, i.e., a delete
    segment cannot span inserts by different deltas but instead has to
    be broken up into different delete segments.

    The main point is that file differencing itself is line number
    oriented which is a major limitation on using diff/patch. However a
    VC utility which uses a file differencing utility can translate the
    line numbers into absolute identifiers or their equivalent.

    You can do delta selection in SCCS, but the procedure can be
    incredibly cumbersome and error-prone.

    RCS is a good revisioning engine. It has limitations when trying to
    use it for a change based system. When code is created on a branch
    then merged to the trunk, the new source is replicated on the trunk
    delta, instead of being reused, like ADC, SCCS.

    ClearCase's parent product was the early 1980's tool DSEE (Domain
    Software Engineering Environment) from Apollo Computer. Unlike many
    other tools of its day, DSEE used an interspersed delta file to
    hold all versions in a single file. Rather than compute and apply
    difference directives one after another to determine a particular
    version, it made a single pass through the file and delivered the
    correct lines to the requesting process. By the mid 1980's DSEE had
    build management capabilities that included automatic dispatching
    of component builds to remote machines on the network so that a
    complete software subsystem could be created in parallel from a
    single user command without modification to the build directives
    (known as a model).

    One of the things that a CM system has to handle is the
    specification of a file set, i.e., a collection of files, each with
    its own version. An early example of a system for doing this was
    DEC's CMS which grouped versions of files into classes (CMS was
    basically an upgrade of SCCS for VMS with some added bells and
    whistles; MMS was a "make" clone.)

    One of the complications in the UNIX branch was the use of
    directory trees. (It may come as a shock to some readers, but there
    are other ways to organize file systems.) Some issues are: (a) the
    versioning of directory tree location of files and (b) handling the
    existence within the file system of multiple versions of a file,
    e.g., sandbox areas and system build areas. The ClearCase solution
    from Atria/Rational was to intercept references to files within the
    OS file management system. This is an elegant solution but is not
    without problems.

    The microcomputer revolution has added a twist. Many language
    packages are offered as development environments with an elaborate
    GUI front-end. Most of them include a crude CM system. (CM products
    have tended to be rather crude in the non-UNIX PC world at the
    conceptual level.) One of the notable occurences in the history of
    software development technology is the idea of the development
    environment. Sophisticated development environments are regularly
    created and just as regularly they become dead ends. Unfortunately,
    it has been a regular feature of these development environments
    that CM is an add-on afterthought.

    Additional information may be found in the background/history
    section of Ron Berlack's "Software Configuration Management" book.
    He reviews the whys and wherefores from a program management view
    point which provides an understanding for the justifications for
    using CM principles and practices.

    As a side point, one of the things that messes up version control
    systems is hard-wiring assumptions about naming conventions. Naming
    conventions are critically important in CM systems. To do things
    right, however, the naming policy must be configurable and must not
    be hard-wired into the tools. ADC decoupled conventions from the
    base engine. Conventions were used in the model layer, then passed
    onto ADC. A good example of what not to do is the version numbering
    in SCCS. Arguably the A: etc. in DOS is another good example of
    what not to do.

    Marc Rochkind for SCCS, Walter Tichy for RCS, Richard Harter for
    ADC/TrueChange and David LeBlang for DSEE and ClearCase are but a
    few of the numerous people who have contributed to the advancement
    of CM and the CM technology over the years.

    References:

  [Roc75]
         Marc J. Rochkind. The Source Code Control System. IEEE
         Trransactions on Software Engineering, SE-1(4): 364-370,
         December 1975

  [Tic82]
         Walter F. Tichy. Design, Implementation, and Evaluation of a
         Revision Control System. Proceedings of the 6th International
         Conference on Software Engineering, IEEE, September 1982

 [1.18] How can a user add information to this FAQ?

    This did not used to be a question anyone asked, since USENET users
    knew how to post to a newsgroup. However, it is arising more now
    that the Web has become so popular (and now that there are Internet
    users who do not realize that the Internet offers services besides
    just the Web, including USENET newsgroups.) This FAQ is an edited
    composit of material which has been posted by participants to its
    newsgroup. If you use a product which does relate to the topics
    covered by this FAQ (that is, software configuration management)
    please consider participating in the newsgroup
    comp.software.config-mgmt. (If you do not know what this means or
    how to do it, please refer to the answer for question [1.1].) If
    you have a particular comment or correction you want to be certain
    the FAQ editor notices, please also copy or forward that
    information to:
     [email protected]

    so it may be considered for a future post.

    Vendors should refer to the answer to question [1.8].

 [1.19] What are the benefits of SCM?

    This question arises in several forms. Sometimes it is "what are
    the benefits", but often it is "how can I convince management to
    use SCM" or "what are/how can I measure the cost savings of
    implementing SCM". In many cases, it is an indicator of a company
    looking for a "silver bullet". (See the answer to [1.12] "Will a
    sophisticated CM system solve my problems?")

    First the "bad news": designing and implementing software
    configuration management will cost in the short-term, it will not
    be a way to realize short-term savings. These costs will be
    incurred for design time, tools license fees, equipment costs, user
    training, and risks of misuse due to unfamiliarity with a new tool
    or platform or process.

    However, the "good news" is that in the long run, that is, over the
    complete life of a software product, implementing a good SCM
    process and system which is used correctly by a properly trained
    development staff will save money by improving quality, reducing
    problems, and making maintenance and rebuilds of various product
    vintages more reliable.

    Software development is a complex process. Companies enter into SCM
    practices because they want to be able to control and guide that
    process as best they can. How much, or how measurable, the cost
    savings may be will depend upon how well the company has been
    tracking all actual expenses of development, including debugging,
    redesign, corrections, etc. over the entire life of the product,
    not just to expenses to the first release. If they have no such
    metrics tracking, they are unlikely to see a savings they can
    recognize (and may even view the implementation of SCM as costing
    more).

    Some of the specific reasons for implementing SCM which have been
    mentioned in this newsgroup over the years include:
    * desire to protect their huge investment in software and be able to
      reproduce a build with the correct components or continue
      development on a project even if those previously working on it
      have left the company or become seriously ill
    * desire to improve quality and reduce errors caused by building
      products with the wrong version or some old code which did not
      include a current fix
    * simplification of a complicated build and/or release process
    * desire to streamline processes and let developers worry about
      actual development
    * reduction of day-to-day labor, thus allowing an under-staffed or
      over-busy team to produce more useful work
    * facilitation of moving personnel from one project to another with
      little or no loss of productivity since both projects follow the
      same process
    * elimination of instances in which software needed to investigate
      customer-reported problems could not reproduced or rebuilt
    * hiring of new team members (particularly leaders and/or managers)
      who had good experiences with SCM in prior businesses and
      advocated such improvements
    * need to perform concurrent development at multiple locations,
      particularly if that is already being tried and has gotten out of
      hand
    * improvement of the faith a Quality Assurance group can have in a
      new version of a product for which they are responsible, and
      highlighting of areas where a new product version should be
      scrutinized during Quality Assurance

    Regardless of the reason, it is important to recognize that
    deciding to design a good SCM process and implement such a system
    is a long-term commitment. The benefits will not be realized
    overnight. Sufficient time (sometimes over the course of several
    product cycles) is required before the real benefits can begin to
    be realized. One error some companies make is to try SCM for a
    portion of a project, often never really training the developers to
    use it properly or not allowing them the time to become familiar
    and comfortable with it, not obtaining adequate hardware to support
    the new process, or not configuring their systems properly to
    support the new demands put on them. Then the company abandons the
    SCM system because of user complaints or, more likely, slippage of
    the schedule of that first project (even if the initial schedule
    was underestimated).

    The essential elements of a successful implementation of SCM
    include:
    * good planning and design by people experienced in good SCM
      techniques
    * proper and complete education of those who will be following and
      using the system so that they understand not only how to, but why
      they must perform certain steps and the benefit to them of doing
      so
    * sufficient time for the users to become familiar and comfortable
      with the system
    * advocacy of the new system by "champions" both in the technical
      staff and management
    * proper equipment and trained support staff to answer questions and
      solve problems when they arise (or better still, to tend to the
      continual care of the system so problems are avoided)

    A side benefit of implementing a good SCM process is that it will
    help enable a company to be assessed at a higher SEI Level and/or
    obtain ISO 9000 certification. (Note that these are side benefits,
    SCM should be approached from the standpoint that it can help you
    produce better, more reliable products faster, rather than for the
    purpose of attaining an award or certification.)
    _________________________________________________________________

[2.0] === BOOKS ABOUT CONFIGURATION MANAGEMENT ===

  (Hal Render maintains a bibliography of books and articles on SCM,
  version control, and related subjects. A searchable copy of the is on
  the WWW at http://liinwww.ira.uka.de/bibliography/SE/scm.html. You can
  ftp the formatted copy and BibTeX source from "mozart.uccs.edu" in the
  directory "/pub/SCM" or request a copy from him at
  [email protected].)

  (You can also check any good technical bookstore near you. One such
  store with a Web site is: San Diego Technical Books, Inc. and look for
  topics such as "Software Configuration Mgmt".)

 [2.1] Software Configuration Management

    by Wayne A. Babich; Addison-Wesley, Reading, Massachusetts, 1986;
    ISBN 0-201010161-0
    (The 'bible' on configuration management? Good, easy reading, can
    be read in a couple of hours at most. Clearly illustrates the
    problems and solutions to double maintenance, shared data, and
    simultaneous update. Nice examples, lots of topics.)

 [2.2] Software Engineering, chapter 29, Configuration Management

    by Ian Sommerville;
    (a nice introduction to the topic)

 [2.3] Software Configuration Management

    by H. Ronald Berlack; John Wiley and Sons, Inc., New York, New
    York, USA, 1992; ISBN 0-471-53049-2
    A very useful guide to understanding and implementing CM. A classic
    but complete reference which includes forms of SCM used in
    non-automated days.

 [2.4] Methods and Tools for Software Configuration Management

    by David Whitgift; John Wiley & Sons Ltd., West Sussex, England,
    1991; ISBN 0-471-92940-9

 [2.5] Software Configuration Management

    by Edward H. Bersoff, Vilas D. Henderson and Stanley G. Siegel;
    Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1980; ISBN
    0-13-821769-6
    (a classic, but reportedly out of print)

 [2.6] Ovum evaluates: configuration management tools

    by P. Ingram, C. Burrows and I. Wesley; by William Rigg, Clive
    Burrows, and Pat Ingram; (c) 1995; Ovum Ltd., 1 Mortimer Street,
    London W1N 7RH, England (Tel: +44 71 255 2670, Fax: +44 71 255
    1995; ISBN 1-89897-210-9)
    (Ovum writes evaluation reports and charges a great deal of money
    for them (US $1345). Their argument is that they do all the legwork
    for you of evaluating a range of offerings; all you have to do is
    pay them the money, read the results, and buy the system/tool that
    is best for you. All well and good - if you agree with their
    evaluation methods and accept that their results will hold in your
    environment. See http://www.ovum.com)

 [2.7] Software Management Technology Reference Guide

    Contact Software Management News at [email protected] to
    obtain copy. It list most of the current CM tools.

 [2.8] Implementing Configuration Management: Hardware, Software and Firmware

    by Fletcher J. Buckley; IEEE Press, 1992; ISBN 0-7803-0435-7
    (discusses how CM principles can be applied to all areas of
    computer engineering, and not just software engineering)

 [2.9] Configuration Management for Software

    by Stephen B. Compton and Guy R. Conner;Van Nostrand Reinhold; ISBN
    0-442-01746-4
    (Well thought out and easy reading. Good discussion of standards
    such as ISO900 and DOD2167A along with work sheets for managing the
    change. Lacking an automation approach. There is little discussion
    given regarding the adaptation of a process change. The glossary is
    very helpful and there is a good bibliography.)

 [2.10] Multi-Platform Code Management

    by Kevin Jameson; O'Reilly & Associates; 354 pages, (includes two
    diskettes); ISBN 1-56592-059-7
    (Intended for programming teams struggling with build and
    maintenance problems. Accompanying software is available for
    fifteen platforms, including MS-DOS and various UNIX systems. It
    shows you how to structure a large project and keep your files and
    builds under control over many releases and platforms. Uses RCS 5.5
    for the version control portion. This book is no longer offered by
    O'Reilly, though some stores may still carry a copy. O'Reilly is
    referring people to the Applying SCCS and RCS book instead".)

 [2.11] Configuration Management Models in Commercial Environments

    by Peter Feiler; Tech Report CMU/SEI-91-TR-7, ESD-91-TR-7, March
    91.
    (This is not a book, but is said to be an excellent overview of CM
    models with discussion of the Long transaction, Change Set,
    Composition, and Checkout/in models, if you can find a copy. Online
    versions were available in postscript and pdf format at:
    http://www.sei.cmu.edu/activities/legacy/scm/abstracts/abscm_models
    _TR07_91.html)

 [2.12] Software Shock, the danger and the opportunity

    by Roger S. Pressman and S Russell Herron, published by Dorset
    House Publishing, N.Y., NY ISBN: 0-932633-20-X
    (This book covers CM as a subtopic and has many examples of risks
    in software development. Most lessons are presented from one of the
    authors experiences. There is good historical perspective regarding
    the evolution of software design, structure of software development
    organizations, implications and costs associated with software
    development, discussion of development process and methods. It is
    the process that links the book to CM. It is very quick and easy
    reading. The book is robust with references, quotes, and citations.
    The authors also have a good sense of humor.)

 [2.13] Configuration Management: The Changing Image

    by Marion Kelly, published in the UK by McGraw-Hill Book Company
    Europe; ISBN 0-07-707977-9
    (To quote the back cover, 'This book gives a thorough account of
    the state of software configuration management today'. A reader
    recommends to it anyone wanting some real up to date, practical
    advise. Another reader says 'good war stories are sprinkled
    throughout the book ... keeps eye on the goal and relates all CM
    activities to achieving that goal.')

 [2.14] Applying RCS and SCCS

    by Bolinger and Bronson, published by O'Reilly; ISBN 1565921178
    (This book compares and contrasts RCS and SCCS and includes a large
    section on tccs. Tccs is their homegrown control and configuration
    management system, based on RCS but extends it quite a lot. Well
    worth reading.)

 [2.15] Practical Software Configuration Management: The Latenight Developer's
 Handbook

    by Tim Mikkelsen and Suzanne Pherigo, published June, 1997 by
    Prentice Hall Professional Technical Reference, (c) 1997 336 pp.,
    Paper Bound w/CD-ROM, ISBN 0-13-240854-6
    (This introductory book on configuration management includes
    chapters covering SCM concepts, release and maintenance operations,
    then goes beyond the basics to discuss change management and
    related topics. It discusses several freely available packages,
    such as RCS and CVS, as well as some commercial offerings, focusing
    on the PC platform and discussing free and inexpensive tools and
    technologies, rather systems developed for large teams. A CD is
    included.)

 [2.16] Practical CM: Best Configuration Management Practices for the 21st
 Century

    published by Raven Publishing Company with a new edition by
    Butterworth-Heinemann coming out in March, 2000; ISBN 0966124847;
    hard cover/CDROM
    One reader reports this is the best selling book on CM this year.

 [2.17] A Guide to Software Configuration Management

    by Alexis Leon, published by Artech House, Inc. (Norwood, MA);
    April, 2000; ISBN: 1580530729; Hardcover; 384 pp
    The book has a companion Web site at http://www.lnl.net/books/scm/

 [2.18] Configuration Management, The missing link in Web Engineering

    by Susan Dart, published in late 2000; ISBN 1580530982
    The book gives good reasons for performing CM as well as examples
    of answers to questions of the form "you might have a CM problem
    if...".

 [2.19] Configuration Management, the changing image

    by Marion Kelly, (may be available only in Europe); ISBN 0077079779
    A good job of covering the basics of SCM and has good war stories
    regarding implementation.

 [2.20] Principles of Configuration Management

    by M. A. Daniels, published in 1985; ISBN 0-934-321-08-6
    Mike stays with the basic principles of CM, thus making it a
    timeless reference. It is also short and a quick read (and
    re-read.) It was still available from barnesandnoble.com at last
    check.
    _________________________________________________________________

[3.0] === PRODUCT SPECIFIC QUESTIONS ===

 [3.1] May I post specific questions about ClearCase here?

    Yes, you may post them here and are quite likely to get an answer.
    However, if the question is particularly detailed, you may have
    more luck with the ClearCase International User Group mailing list.

    To join that list, send email to '[email protected]'. In
    the body of the message place the line:
     subscribe cciug [your-email-address]

    After your request has been approved and processed, you may email
    to [email protected] and it'll be read by Rational and all those
    customers who are on this mailing list.

 [3.2] Is there a tutorial someplace on RCS?

    Try executing 'man rcsintro'. It comes with rcs. Also try to get
    Walter Tichy's paper "RCS - A System for Version Control" which is
    part of the RCS distribution.

 [3.3] It seems SCCS doesn't have a $Log$ like RCS does. Am I correct ?

    Users reported that there is NO keyword like $Log$ available on
    SCCS. They apparently implemented another way to log changes from
    files called 'delta table' (=some kind of database). Check out
    commands (on Sun4-os4)
    sccs prt              [filename] ( = show log )
    sccs cdc  -r[version] [filename] ( = add command for logging)

    Also check out "sccs prs".

 [3.4] Is there a tool to convert SCCS data to RCS format?

    There is a GNU csh script named sccs2rcs which does this. Check the
    usual ftp sites. It is included in the CVS package.

 [3.5] Why do I get Ctrl-M characters in my CVS files?

    This seems to happen when a user checks out files from a UNIX
    Server while using an MS Windows/NT client. On Windows and
    Windows/NT lines are terminated with "\r\n", whereas on UNIX they
    are terminated with "\n". On check-in, text files are converted
    back to a platform neutral format (which happens to be newline
    ("\n") terminated). "make" programs that run under Windows/NT
    should be able to handle the standard Windows text format in
    makefiles. If you are moving the makefiles that you checked out
    under Windows/NT to a UNIX system and trying to use them there, it
    is likely to cause confusion. There are tools which can help you
    swap the line endings as needed. Alternatively, if you check out
    your source tree under Windows/NT, you should only use NT-based
    tools in that working directory. Then, if you need to do work under
    UNIX, check out another copy of your source tree on a UNIX system.
    _________________________________________________________________

--[ Contributors ]--

  The answers in this FAQ are often composites from many responders and
  I felt it would not be practical to acknowledge each one here. In
  addition, many companies do not want their name associated with
  specific statements. If you disagree with this position, drop me a
  message and I'll consider a change.
    _________________________________________________________________

               End of comp.software.config-mgmt FAQ Part 1

  This document does not represent an official position or opinion of
  any company.
--
Dave Eaton
FAQ editor
email:[email protected]