mkproject
Creates a project or project template
Applicability
Product |
Command type |
---|---|
VersionVault |
cleartool subcommand |
Platform |
---|
UNIX |
Linux |
Windows |
Synopsis
- Create a project:
- mkproj/ect [ –c/omment comment | –cfi/le pname | –cq/uery
- | –cqe/ach | –nc/omment ] [ –mod/comp
component-selector[,... ] ]
–in folder-selector
[ –pol/icy policy-keyword[,...] ] [ –npo/licy policy-keyword[,...] ]
[ –spo/licy policy-keyword[,...] ]
[ –model { SIMPLE | DEFAULT } ]
[ –bln/ame_template baseline-naming-template ]
[ project-selector ... ]
- Create a project template:
- mkproj/ect [ –c/omment comment | –cfi/le pname | –cq/uery ]
–template [ –mod/comp component-selector[,... ] ]
[ –pol/icy policy-keyword[,...] ] [ –npo/licy policy-keyword[,...] ]
[ –spo/licy policy-keyword[,...] ]
[ –bln/ame_template baseline-naming-template ]
[–custom pname]
Description
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. To create a single-stream project, your UCM VOBs and PVOBs must be at feature level 3 or greater.
Project policies
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. The following table describes these policies and lists the keywords used to set them. For more information about setting policies, see the Help.
Policy |
Keyword |
---|---|
Recommend snapshot views for integration work. |
POLICY_UNIX_INT_SNAP (UNIX and Linux) POLICY_WIN_INT_SNAP (Windows) |
Recommend snapshot views for development work. |
POLICY_UNIX_DEV_SNAP (UNIX and Linux) 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. If both POLICY_DELIVER_NCO_SELACT and this policy are enabled, the former overrides this policy. |
POLICY_DELIVER_NCO_DEVSTR |
Allow delivery of activities that have no checkouts or do not depend on activities that have checkouts. If both POLICY_DELIVER_NCO_DEVSTR and this policy are enabled, this policy overrides the former. |
POLICY_DELIVER_NCO_SELACT |
Prevent the creation of duplicate baselines when a foundation baseline has already been reused in a previous "make baseline" operation and when the baseline that has been reused resides in a PVOB, which is not under the same AdminVOB hierarchy as the PVOB where the new baseline is being created. Note that this requires extensive checking that might slow performance. |
POLICY_DISABLE_FDN_REUSE |
Allow a rebase operation on the target stream while some of the files remain checked out in the view. However, if any version that is introduced into the stream in the rebase operation is the same element as a checked-out version, a conflict occurs and the rebase operation fails. |
POLICY_REBASE_CO |
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. (Defaults are different for intraproject and interproject deliver operations.) |
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. (Defaults are different for intraproject and interproject deliver operations.) |
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 |
Baseline naming
By default, baseline identifiers are made up of two parts: a user-specifiable root name and a generated, unique numeric extension. Establish 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.
Project templates
You can create a project template for each project VOB. Project templates enable VersionVault administrators to define a standard set of policies and common list of modifiable components and baseline name templates for projects in the same project VOB. After a template has been defined, all projects that are created in that project VOB will use the settings from the project template by default. Use of this feature ensures consistent policy enablement across projects. A project template can have custom file, a text file used for explanatory information for the template. The content of the custom file is stored along with the project template. You must have administrator privileges and create the template from the project VOB directory.
Restrictions
Identities
No special identity required.
Locks
An error occurs if one or more of these objects are locked: the project VOB.
Mastership
(Replicated VOBs only) No mastership restrictions.
Options and arguments
Event records and comments
- Default
- Creates one or more event records, with commenting controlled by your .versionvault_profile file (default: –c). See the comments reference page. Comments can be edited with chevent.
- –c/omment comment | –cfi/le comment-file-pname |–cq/uery | –cqe/ach | –nc/omment
- Overrides the default with the option you specify. See the comments reference page.
Specifying a folder for the project
- Default
- None.
- –in folder-selector
- Specifies a folder.
folder-selector is of the form [folder:]folder-name[@vob-selector], where vob-selector specifies the folder's project VOB.
Specifying modifiable components
- Default
- None.
- –mod/comp component-selector[,... ]
- Specifies the components that can be modified by this project.
Setting project policy
- Default
- None.
- –pol/icy policy-keyword
- Enables the specified policy. See Project policies.
- –npo/licy policy-keyword
- Disables the specified policy. See Project policies.
- –spo/licy policy-keyword
- Allows the specified policy to be enabled or disabled by individual streams. See Project policies.
Setting a project model
- Default
- Multiple-stream project.
- –model
- Sets the project model.
SIMPLE
A single-stream project
DEFAULT
A multiple-stream project
Defining the baseline name template
- Default
- Baseline identifiers are made up of two parts: a user-specifiable root name and a generated, unique numeric extension.
- –bln/ame_template baseline-naming-template
- Defines the baseline name template for a project. baseline-naming-template specifies
the tokens to be used in the baseline name and it can include any
of the following tokens separated by commas:
- basename
- project
- stream
- component
- date
- time
- user
- host
When you create baselines, UCM replaces commas with underscores in the baseline name.
Specifying the project name
- Default
- A generated name.
- project-selector
- Specifies the project.
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 project VOB. 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.
Creating a project template
A set of project parameters can be stored as a project template. You can specify modifiable components, policies, and baseline name templates as for any project. In addition, you must specify the –template option and can optionally specify a custom file for the template. You must have administrator privileges and create the template from the project VOB directory.
- –template
- Stores the specified information as a project template. Each project VOB can have one project template.
- –custom pname
- Specifies a pathname for a text file that is stored with the project template.
Examples
The UNIX system and Linux examples in this section are written for use in csh. If you use another shell, you might 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 might 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 system and Linux shells or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt.
- Create a project in the webo_projects folder
of the project VOB webo_pvob .
cmd-context mkproject -c "creating webo project release 1" \
-in webo_projects@\webo_pvob webo_proj1@\webo_pvob
Created project "webo_proj1". - Create a project CQ_ASP_V6.0 in RootFolder,
add a modifiable component comp1, and define
a baseline name template for the project.
cmd-context mkproject -nc -modcomp comp1 -in RootFolder ^
-blname_template project,component,date CQ_ASP_V6.0