The mkproject command creates a project. A project includes policy information and configuration information.
Projects are created in folders. A folder or folder hierarchy must be in place before you create a project. If no folder exists, you can specify RootFolder as the folder selector with the –in option. RootFolder is a predefined object that represents the parent folder of a folder hierarchy. See mkfolder for more information.
Projects maintain a list of components that can be modified within the project. You can specify these with the –modcomp option. Streams in the project can make changes, such as checking out files, only in modifiable components; all other components are read-only.
The basic UCM process uses an integration stream and multiple development streams in a project. However, small teams of developers working together closely may prefer a single-stream project. You can create a project with single or multiple streams by using the –model option with keywords SIMPLE or DEFAULT.
You can set or unset projectwide policies, such as specifying that views attached to the integration stream must be snapshot views. Policies are identified by their keywords. Table 8 describes these policies and lists the keywords used to set them. For more information about setting policies, see Managing Software Projects.
Policy | Keyword |
---|---|
Recommend snapshot views for integration work. | POLICY_UNIX_INT_SNAP (UNIX) POLICY_WIN_INT_SNAP (Windows) |
Recommend snapshot views for development work. | POLICY_UNIX_DEV_SNAP (UNIX) POLICY_WIN_DEV_SNAP (Windows) |
Skip permission checking to allow any user to modify an existing project with chproject. | POLICY_CHPROJECT_UNRESTRICTED |
Require a development stream to be based on the current recommended baselines before it can deliver changes to its default target stream. | POLICY_DELIVER_REQUIRE_REBASE |
Do not allow delivery from a development stream that has checkouts. | POLICY_DELIVER_NCO_DEVSTR |
Allow a deliver operation from a stream in the same project to include changes from the stream's foundation baselines. | POLICY_INTRAPROJECT_DELIVER _FOUNDATION_CHANGES |
Allow a deliver operation from a stream in the same project to contain changes in components that are not included in the target stream's configuration. The changes in the missing components are not delivered.[a] | POLICY_INTRAPROJECT_DELIVER _ALLOW_MISSING_TGTCOMPS |
Allow streams in this project to accept changes in a deliver operation from a stream in a different project. | POLICY_INTERPROJECT_DELIVER |
Allow a deliver operation from a stream in a different project to include changes from the stream's foundation baselines. This policy is ignored if interproject delivery is disabled. | POLICY_INTERPROJECT_DELIVER _FOUNDATION_CHANGES |
Require a deliver operation from a stream in a different project to deliver changes in all components. This policy is ignored if interproject delivery is disabled.1 | POLICY_INTERPROJECT_DELIVER _REQUIRE_TGTCOMP_VISIBILITY |
Allow a deliver operation from a stream in a different project to contain changes in components that are not modifiable in the target stream's configuration. The changes in the nonmodifiable components are not delivered. This policy is ignored if interproject delivery is disabled. | POLICY_INTERPROJECT_DELIVER _ALLOW_NONMOD_TGTCOMPS |
Defaults are different for intraproject and interproject deliver operations. |
Optionally, you can link a project to a Rational ClearQuest database. For related information, see chproject.
By default, baseline identifiers are made up of two parts: a user-specifiable root name and a generated, unique numeric extension. We recommend you define a meaningful baseline naming convention within a project. You can do so by using the option –blname_template. For more information about baseline names, see mkbl.
No special identity required.
An error occurs if one or more of these objects are locked: the project VOB.
(Replicated VOBs only) No mastership restrictions.
When you create baselines, UCM replaces commas with underscores in the baseline name.
You can specify the project as a simple name or as an object selector of the form [project:]project-name@vob-selector, where vob-selector specifies a project VOB (see the cleartool reference page). If you specify a simple name and the current directory is not a project VOB, this command assumes the project resides in the project VOB that is associated with the current view. If the current directory is a project VOB, that project VOB is the context for identifying the project.
The project name must be unique within the PVOB. All UCM objects share the same namespace. You'll get an error if the name you provide collides with the name of an existing UCM object, for example, a component.
The UNIX examples in this section are written for use in csh. If you use another shell, you may need to use different quoting and escaping conventions.
The Windows examples that include wildcards or quoting are written for use in cleartool interactive mode. If you use cleartool single-command mode, you may need to change the wildcards and quoting to make your command interpreter process the command appropriately.
In cleartool single-command mode, cmd-context represents the UNIX shell or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt.
Note: In the UNIX examples that follow, arguments and output that show multicomponent VOB tags are not applicable to ClearCase LT, which recognizes only single-component VOB tags. In this manual, a multicomponent VOB tag is by convention a two-component VOB tag of the form /vobs/vob-tag-leaf—for example, /vobs/src. A single-component VOB tag consists of a leaf only—for example, /src. In all other respects, the examples are valid for ClearCase LT.
Copyright© 2003 Rational Software. All Rights Reserved.