MAN page from RedHat Other prcs-1.2.3-3.i386.rpm
PRCS
Section: User Commands (1)
Index NAME
prcs - Invoke the Project Revision Control System
SYNOPSIS
prcssubcommand[
option...] [
operand...]
DESCRIPTION
The Project Revision Control System,
PRCS,is the front end to aset of tools that (like CVS) provide a way to deal with sets of filesand directories as an entity, preserving coherent versions of the entireset. The command
prcsexecutes the various functions (subcommands) of the the system.
Abstractly,PRCSpresents you ("the user") with the abstractionof named projects that have multiple (project) versions,each of which is a set of files, arranged into a directory subtree. Aproject is the collection of all project versions of that project. Eachproject version contains one distinguished file, called the(project) version descriptor, in the top directory of the subtree,which contains a description of the files included in that particularversion. For a project named P, this file has the nameP.prj (and so is also called a ".prj file").
Functions Provided
The subcommands provided allow you to perform the following actions:
- •
- Create a copy of the directory tree (or a part of it) for a givenproject version. The files in such a copy are called workingfiles and the root directory for these working files is called aworking directory. This process is called checking-out theversion (or the working files). You may select a project version tocheck out by its version number. Modifying the working files has noeffect on the project version they came from.
- •
- Create a new project version (and a new project, for the first version)from working files, or from some mix of working files and the files in aanother project version. This is called checking-in the version(or the working files). Before any check-in, PRCS checks to see ifthere have been other modifications to files in this project and warnsyou of conflicts and discrepancies.
- •
- Search for differences between a project version and working files orbetween the files in two versions of a project.
- •
- Insert changes that occurred between two project versions into workingfiles.This process is called merging because its purpose is to combinechanges you have made to a set of working files with changes that othershave made in the meantime.It changes only the working files, because in general they will neededitting to reconcile places where the two sets of changes conflict.The resulting merged files are marked with distinctive linesindicating places where the two sets of changes that are being combineddiffer from each other.One typically edits the merged filesto reconcile the differences, and then checks in a new version.
- •
- Print out information about the versions of a project contained in therepository.
In addition, you may add and subtract the files contained in a newproject version, or move files from one subdirectory to another byediting the working copy of the .prj file before checking in thenew version.
PRCSkeeps all checked-in project versions in a projectsrepository. At any giventime, you fix a prevailing repository by setting the environmentvariable PRCS_REPOSITORY (which defaults to $HOME/PRCS),and do not explicitly mention it in anycommands.
Each checked-in version has a version name of the formM.N. Here, M, the major version name, is analphanumeric label--either a numeral or a label beginning with aletter and consisting of letters, digits, and the characters
- # % ^ - _ + = : , .
--and N, the minor version name, is a non-negativenumeral. PRCS assigns minor version names automatically in sequence.Major version names are up to the user; by default, they also are numerals.
PRCS uses the approach found in CVS (Concurrent Version System):unlike version control systems such as RCS and SCCS,PRCSlocks projectsin therepository only while it is actually running(in order to make operations on projectsatomic).One simply checks in new versions as desired; the system willwarn you if others have made parallel changes to the major version ofthe project you are working on that may have to be merged with changesyou have made.
WherePRCSdiffers from CVS (and, indeed, other source-code controlsystems of the author's acquaintance) is in its attempt to provide aparticularly simple model to the user. A project is a collection offiles, period. Although the current implementation ofPRCSactually uses RCS in its implementations, none of the details of RCS areof any consequence to the user.
Basic Use
For a complete description of the subcommands, options, files, andenvironment variables of
PRCS,see the TexInfo pages provided with the release.Here is a brief overview of typical, simple use of the system, whichmay suffice for many users.
The simplest possible use of prcs is just to use it to keep asingle thread of project versions, thus allowing you to ``roll back'' atany time, and allowing multiple people to do maintenance on a singlesystem simultaneously.
To start things off with a new project, P1, type
- % prcs checkout P1
in the working directory where you are developing your project. (If youhaven't yet established a repository,PRCS will create one.)The effect of this command is to create aworking version descriptor file by the name P1.prj with an empty listof files. The version descriptor contains, among other things, a listof thenames of all files in a particular version of the project (called theFiles list).
Ifthe project was already underway before you created a PRCS projectfor it, you will probably want to start off by adding the names of your existingfiles to this list to bring them under version control. To do so, type
- % prcs populate P1
or, if there is only one .prj file, simply
- % prcs populate
Edit the file P1.prj (with your favorite text editor) as neededto remove any files you don't want tocontrol (like .o files, back-up files, and executables). You canalso specify the list of files in the population on the commandline. The files in any directories in this list will be includedrecursively:
- % prcs populate P1 file1 file2
Whenever you want to checkpoint your project, type
- % prcs checkin P1 # or just prcs checkin
from the root working directory (the one with P1.prj in it).This creates (in effect) a new version in the repository containingcopies of the files listed in P1.prj, and updates P1.prj to reflectthe new version's name. You may specify a new major version name atcheckin time with the-roption:
- % prcs checkin -rMyVersion P1
Ifsomeone else has checked in files in the meantime, you will be notifiedof discrepancies, which you can handle by typing
- % prcs merge
from the root working directory and (after it's done), editing thefiles.
Whenever it comes time to begin working on a deposited version of the project,you can go to a clean directory and checkout the latest version with
- % prcs checkout P1
or, if you want a major version other than the (numeric) default,
- % prcs checkout -rMyVersion P1
Now you can make any desired modifications and check in as before.
ENVIRONMENT
- PRCS_REPOSITORY
- Path to the repository. Defaults to $HOME/PRCS.
IDENTIFICATION
Author: Paul N. Hilfinger and Josh MacDonald
Manual Page Revision: 1.5; Release Date: Sun, 01 Mar 1998 22:58:57 -0800.
Copyright © 1994, 1996
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- Functions Provided
- Basic Use
- ENVIRONMENT
- IDENTIFICATION
This document was created byman2html,using the manual pages.