                            PERFORCE

        The FAST Software Configuration Management System

                              ---

                    Release notes for Macintosh

GENERAL INFORMATION

1.  The Macintosh release of PERFORCE is a client-only.  It may be
    used with any PERFORCE server, release #2020-2210 or greater.
    PERFORCE servers run on Windows/NT and most UNIX platforms.  Like
    all PERFORCE clients, the Mac client uses TCP/IP to talk to the
    server.

    YOU MUST UPGRADE TO A CURRENT PERFORCE SERVER (#2020-2210 or greater)
    TO USE THE MACINTOSH CLIENT!

2.  The PERFORCE client on Mac requires MPW.

3.  Installation is as follows:

    a)	MPW must be installed first.  In order to use the 'p4 diff'
	command, the MPW ToolServer must be installed as well.

    b)  Download the Perforce Installer archive.  This is a self-extracting
    	archive built using StuffIt.  Open the PerforceInstaller folder.

    c)  The InstallPerforce MPW script will orchestrate the installation.
	The easiest way to run this is to double-click on it, select
	all (Command-A) and hit Enter.  (After it runs, quit without
	saving the updated window).

	The installation process creates a UserStartupPerforce file in
	the MPW StartupItems folder.  This file sets variables needed
	in order for the PERFORCE client to run.  You must supply values
	for these variables when InstallPerforce runs:

	P4USER		Your user name as seen by PERFORCE.
	P4PORT		The address of the PERFORCE server.
	P4CLIENT	The name of your client workspace.

4.  The Mac client is implemented as a standalone application, accessed
    via an MPW shell script "p4".  When the p4 script is first run it
    will launch the p4mac application.  p4mac creates its own output
    window -- output does not go to the MPW shell.  The application will
    run until the window is quit.

MAC SPECIFIC CHANGES IN PERFORCE FUNCTIONALITY

RESOURCE FORKS

    Normally, PERFORCE manages only the data fork of a file.  PERFORCE
    treats the resource fork as a separate file named ".file" in the
    depot (i.e. the original file name with a period prepended).  If
    you add a .file on a Mac, the PERFORCE client assumes this to mean
    that you wish to add the resource fork of the named file.

    Because two names (file and .file) can refer to the same actual file
    on the Mac, PERFORCE treats them somewhat specially:

    -	If you invoke "p4 edit" on either fork, the file is made writable.
	However, on submit only the opened fork is submitted.  If you plan
	on changing both the resource and data forks, invoke "p4 edit" on
	both forks, e.g. "p4 edit file .file".

    -   Deleting the resource fork does not delete the actual file.  Only
	deleting of the data fork does.

    -	The .file actually contains both the resource fork and file header
	information.  Because this information changes with each access to
	a file, "p4 diff" will almost always report that the resource fork
	has changed.  There is no good way of comparing resource forks.

    If a PERFORCE client on a non-Mac host tries to get the resource
    fork of a file, the behavior depends on the release of the PERFORCE
    client program.  Prior to release #2020, the client will not be able
    to get the file at all.  Any client at release #2020 or later will
    see the file as a binary file.

CHARACTERS

    Mac considers more characters printable than UNIX and NT do (mostly
    the "option" characters).  A file added from the Mac may be detected
    by "p4 add" as being text, while if the same file were moved to UNIX
    and added, it would be considered binary.

    PERFORCE file names (with /'s) and wildcards (... and *) can make
    the MPW shell complain: use quotes (") to insulate them.

    The PERFORCE server can now handle spaces in file names (spaces are
    very common in Mac file names), but not characters that the server
    machine considers to be non-printable.  Thus the Mac "option"
    characters cannot appear in filenames stored in the PERFORCE server.
    Further, Mac files with /'s in their names are likely to cause grief,
    as PERFORCE considers / to be a path separator.

    If the user name (P4USER) contains spaces, they will be translated
    to _'s for PERFORCE's use.

MISC DIFFERENCES

    The -i and -o flags on p4 branch, client, job, label, protect and user
    are not supported on Mac.  You can instead cut and paste from the editor
    buffer.

    The ToolServer app must be on the same Mac volume as the p4mac client
    app, or p4mac will be unable to find Toolserver for launching. If
    ToolServer is already running, no search will ever be done, so users
    can workaround the problem if necessary by prelaunching ToolServer.

    After the software is installed, there are two scripts, P4Diff and
    P4Merge, in the MPW "User Commands" folder. These scripts can be
    edited by the user to invoke whatever tools the user wants. The
    default P4Diff invokes MPW's Compare tool. The default P4Merge does
    nothing, since there is no standard MPW merge tool.
