File specification

A file_spec refers to one or more projects, directories or files in a Rational Synergy database.

A file specification can have any of these forms:

An object name can contain up to 155 characters; the object version can contain up to 32 characters.

Work area reference form

When an object version is a member of a project and the project is synchronized under a work area directory in the file system, you can reference the object version by its path in the projected directory structure.

The example uses Windows paths. The functionality is the same on UNIX. For example, if the foo.c-4 object version is a member of the jobA-1 project under the dir1 directory and the project work area is c:\users\joe\ccm_tutorial, the work area reference form for foo.c-4 is:

c:\users\joe\ccm_tutorial\jobA-1\jobA\dir1\foo.c

If the current working directory is c:\users\joe\ccm_tutorial\jobA-1\jobA, you can reference the foo.c-4 object version by using the relative path:

dir1\foo.c

You can augment the work area reference with the version to refer to another version of the object:

path\object_name[:version]

path\object_name[version_delimiter version]

Use this file specification to refer to any different versions of the object version.

For example, if foo.c-4 is a member of the current project and has a predecessor foo.c-3, you can reference the predecessor by using the relative path belonging to foo.c-4:

dir1\foo.c-3

Note: When you enable allow_delimiter_in_name and use the second form with the version_delimiter, the complete field including the version delimiter is taken as the name, and the version will be the current version used in the project. For example, with a version delimiter of -, the specification c:\users\joe\ccm_tutorial\jobA-1\jobA\dir1\foo.c-23 gets a name of foo.c-23. This refers to the current version of the object used in the work area. Avoid potential confusion when using allow_delimiter_in_name by specifying any explicit version that uses the :version form after the path and name.

Project reference form

A project reference form refers to a project, directory, or file by its relative path within a specified project. This can be used even if the project does not have a maintained work area or if that work area is not visible to the client.

relative_path@project_spec

relative_path:version@project_spec

relative_path version_delimiter version@project_spec

where relative_path is a relative path that can use / or \ as file separators, project_spec is a Project specification, version_delimiter is the current version delimiter (default -, hyphen), and version is an optional version of the object. If you don't specify a version, the referenced object is the version used in the project.

The relative path is relative to the top of the project. For example, the specification myproject\src\ClientContext.java@myproject:1 refers to the current version of a file named ClientContext.java under a directory named src under the root directory myproject of the project myproject:1.

You can specify an optional version after the relative path. For example, the specification myproject\src\ClientContext.java:23@myproject:1 refers to the version 23 of a file named ClientContext.java under a directory named src under the root directory myproject of the project myproject:1.

Note: When you enable allow_delimiter_in_name and use the last form with the version_delimiter, the complete field including the version delimiter is taken as the name, and the version will be the current version used in the project. For example, with a version delimiter of -, the specification myproject\src\ClientContext.java-23@myproject:1 gets a name of ClientContext.java-23. This refers to the current version of the object used in the project. Avoid potential confusion when using allow_delimiter_in_name by specifying any explicit version that uses the :version form after the path and name.

Feedback