Absolute work areas

Absolute work areas exist as separate directory hierarchies. That is, a work area path of an absolute subproject does not need to be under the path of the parent project.

You can synchronize the subproject anywhere. However, by default, the subproject resides under your home directory in the following path:

Windows client: home_directory\ccm_wa\database_name\project-version

UNIX client: ~/ccm_wa/database_name/project-version

On a UNIX client, if a parent project has a subproject with an absolute work area, the work area of a parent project always contains a symbolic link to the work area for that subproject. This happens regardless of whether the parent project is link-based or copy-based.

If you look at the work area of a parent project on a Windows client when a subproject is absolute, you do not see the subproject because Windows does not support symbolic links. However, the GUI and CLI show the subproject as a member of the parent project.

For example, suppose bar-1 is a subproject of foo-1 in the ccm_tools database and you are using a copy-based work area. If bar-1 is absolute, the work area looks like the following output.

For Windows The following output shows a Windows work area.
c:\ccm_wa\ccm_tools
    foo-1\
        foo\
            a.c
            b.c

    bar-1\
        bar\
            c.c
For UNIX The following output shows a UNIX work area.
/users/joe/ccm_wa/ccm_tools
    foo-1/
        bar -> /users/joe/ccm_wa_ccm_tools/bar-1/bar
        foo/
            a.c
            b.c
    bar-1/
        bar/
            c.c

You can use an absolute project as a subproject more than once. Developers typically put absolute projects meant for use by multiple developers on a shared file system. This is useful for external projects, such as those that store shared products, libraries, and header files.

You can change a subproject from absolute to relative.


Feedback