lotus

previous page: 76  How do I reconfigure my PC or its applications?
  
page up: Configuration Management Tools FAQ
  
next page: 78  Will a sophisticated CM system solve my problems?

77 How can I do CM in a mixed platform network?




Description

This article is from the Configuration Management Tools FAQ, by Dave Eaton dwe@arde.com with numerous contributions by others.

77 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.

 

Continue to:













TOP
previous page: 76  How do I reconfigure my PC or its applications?
  
page up: Configuration Management Tools FAQ
  
next page: 78  Will a sophisticated CM system solve my problems?