You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by ev...@apache.org on 2007/03/22 12:18:01 UTC

svn commit: r521216 - /maven/scm/trunk/maven-scm-site/src/site/apt/clearcase.apt

Author: evenisse
Date: Thu Mar 22 04:18:00 2007
New Revision: 521216

URL: http://svn.apache.org/viewvc?view=rev&rev=521216
Log:
[SCM-290] Improved documentation for ClearCase SCM provider
Submitted by: Arne Degenring

Modified:
    maven/scm/trunk/maven-scm-site/src/site/apt/clearcase.apt

Modified: maven/scm/trunk/maven-scm-site/src/site/apt/clearcase.apt
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-site/src/site/apt/clearcase.apt?view=diff&rev=521216&r1=521215&r2=521216
==============================================================================
--- maven/scm/trunk/maven-scm-site/src/site/apt/clearcase.apt (original)
+++ maven/scm/trunk/maven-scm-site/src/site/apt/clearcase.apt Thu Mar 22 04:18:00 2007
@@ -1,73 +1,84 @@
  ------
  SCM Implementation: ClearCase
  ------
- Wim Deblauwe
+ Wim Deblauwe, Arne Degenring
  ------
- 1 December 2005
+ 1 December 2005, last update on 22 March 2007
  ------
 
 SCM Implementation: ClearCase
 
 * General Info
 
-   Link : {{http://www-306.ibm.com/software/awdtools/clearcase/}}
+   Link: {{http://www-306.ibm.com/software/awdtools/clearcase/}}
 
-   License : Commercial
+   License: Commercial
 
-* SCM Url
+* SCM URL
 
-    For all URLs below, we use a colon (:) as separator. If you use a colon for one of the variables (e.g. a windows path), then use a pipe (|) as separator.
+    For all URLs below, use a colon (:) as the separator. In case of a colon being used within one of the parameters (e.g. a Windows path),
+    then use a pipe (|) as the separator.
 
 -------
 scm:clearcase<delimiter>[view_name]<delimiter>config_spec
 -------
     
-    <view_name>: This is the name of the view that is created on a 'checkout' of the code. This parameter is optional.
+    <view_name>: Name of the view that is created on a 'checkout' of the code. This parameter is optional.
 
-    <config_spec>: This parameter can be used to
+    <config_spec>: Either
     
-    * either specify the location of an user-supplied config spec file. It will be used for the snapshot view that 
-      is created by the 'checkout' command. Be sure to add "load" rules to the config spec.
+    * a user-supplied config spec file, or
     
-    * Or specify one load rule that is used by the ClearCase SCM provider to auto-generate a config spec for you. Please note
-      that checking out from a version tag (ClearCase label type) is only supported when this option is used.
+    * one load rule that is used by the ClearCase SCM provider to automatically generate a config spec when creating a view.
 
-* Examples
+** User-supplied config spec
 
+   If you specify the location of an user-supplied config spec file in the SCM URL, this config spec is used each time
+   a view is created. SCM URL samples:
+   
 -------
 scm:clearcase:\\myserver\clearcase\configspecs\my_module.txt
 scm:clearcase:my_module_view:\\myserver\clearcase\configspecs\my_module.txt
-scm:clearcase:load /MY_VOB/my/project/dir
-scm:clearcase:my_module_view:load /MY_VOB/my/project/dir
 -------
-
-* Extra Information
-
-** Config spec
-    
-    When a 'checkout' happens, then there will be a snapshot view created.
-    
-    In case of an user-supplied config spec file: To make sure all the correct elements are loaded in the view, the config spec must
-    have "load" rules specified.
-    If you work with dynamic views, you will need to create an additonal config spec to include the load-rules. The easiest to do this is to
-    include your dynamic view config spec and add the necessairy load-rules. This is an example of a config spec with a load-rule:
-    
+   
+   To make sure all the correct elements are loaded in the view, the config spec must
+   have "load" rules specified. You can also include other config specs into your own config spec, as in the following
+   example:
+   
 -------
 include \\myserver\clearcase\configspecs\my_dynamic_configspec.txt
 load /myvob/modules/my_module
 -------
 
-   In case you provide a load rule instead of a config spec file within the SCM url, the following config spec is automatically created
-   as long as no tag has been specified:
-   
+    Notice that checking out from a tag (which is used by the maven-release-plugin) is currently not supported for user-supplied config specs.
+    Another point to remember is that ClearCase does not check out projects directly into the checkout directory, but instead a sub-directory
+    of the checkout directory (e.g. /checkoutdir/myvob/modules/my_module instead of just /checkoutdir). This is unexpected by the
+    scm:bootstrap command, Continuum,
+    the Maven-Release-Plugin and other users of the ClearCase SCM provider. Adjust the build working directory after the checkout
+    (in Continuum, for example, by adjusting the POM file location within the Build definition).
+
+** Auto-generated config spec
+    
+    For many users of a base ClearCase SCM installation, auto-generated config specs are more convenient than user-supplied
+    config specs. Instead of being forced to provide a config spec file at an external location, the SCM URL contains 
+    all information that is needed to check out the code. Specify one load rule for the project you want to check out within the
+    SCM URL, as in the following examples:
+
+-------
+scm:clearcase:load /MY_VOB/my/project/dir
+scm:clearcase:my_module_view:load /MY_VOB/my/project/dir
+-------
+
+    This information is used by the ClearCase SCM provider to automatically generate the following config spec:
+    
 -------
 element * CHECKEDOUT
 element * /main/LATEST
 load <load_directory>
 -------
 
-   When working with auto-generated config specs, checking out from version tags (= ClearCase label types) is supported as well. (Notice
-   that checking out from a branch tag (= ClearCase branch type) is not supported.)
+   When working with auto-generated config specs, checking out from version tags (= ClearCase label types) is supported as well.
+   (Notice that checking out from a branch tag (= ClearCase branch type) is currently not supported.)
    In case a tag has been specified, the following config spec is created:
 
 -------
@@ -77,21 +88,45 @@
 load <load_directory>
 -------
 
-** Viewstore location
+   Notice that ClearCase does not check out projects directly into the checkout directory, but instead a sub-directory
+   of the checkout directory (e.g. /checkoutdir/myvob/modules/my_module instead of just /checkoutdir). When using auto-generated
+   config specs, the correct location of the project directory is provided to other modules that use the ClearCase SCM provider,
+   such as the scm:bootstrap command. As a consequence, the build can automatically be run from the correct working directory.
+
+* Creating and removing views
+
+   Each time a 'checkout' of code is performed (e.g. when adding a project to Continuum), the ClearCase SCM provider creates a new snapshot view
+   using the <<cleartool mkview>> command.
+   As the view name, the <view_name> parameter is used if it has been specified. Many users prefer to leave the <view_name> parameter out,
+   as the ClearCase SCM provider automatically chooses a view name according to the following pattern:
+   <username>-<hostname>-maven-<checkoutdir>, e.g. johndoe-mymachine-maven-myproject.
+   
+   Notice that the ClearCase SCM provider does not remove views once they have been created. When you don't need the view any longer,
+   remember to explicitly remove it using ClearCase HomeBase or cleartool, e.g. using one of the following commands:
+   
+-------
+cleartool rmview /views/myproject
+cleartool rmview -tag johndoe-mymachine-maven-myproject
+-------
 
-    By default the viewstore used is \\\\${hostname}\viewstore. However, if your viewstore is at a different location,
-    then create an clearcase-settings.xml file in a .scm subdirectory of your home directory. This is an example of
-    such a file:
-    
+   In case a view name already exists when checking out, ClearCase reports an error like the following:
+   
 -------
-<clearcase-settings>
-    <viewstore>\\mymachine\myvwstore</viewstore>
-</clearcase-settings>
+cleartool: Error: A registry entry already exists for "johndoe-mymachine-maven-myproject".
 -------
 
+* ClearCase settings file
+
+    You can configure the behaviour of the ClearCase SCM provider by providing a <<clearcase-settings.xml>> file, either
+    at ${user.home}/.scm/clearcase-settings.xml or at ${maven.home}/conf/clearcase-settings.xml. Notice: If the file is present
+    at both locations, the settings from the .scm subdirectory of the user's home directory is used; the settings are
+    not merged.
+
 ** -vws parameter on mkview command
 
-    By default mkview command use -vws parameter. To use mkview without -vws, you can configure it in the clearcase-settings.xml file.
+    By default, when creating a view, the -vws parameter of the mkview command is used to specify the location of the view store.
+    In many environments, however, the -vws parameter can be omitted, and ClearCase uses appropriate defaults.
+    To turn off the usage of the -vws parameter, configure it in the clearcase-settings.xml file:
 
 -------
 <clearcase-settings>
@@ -99,16 +134,43 @@
 </clearcase-settings>
 -------
 
-** ClearCase LT
+** Viewstore location
 
-    By default work clearcase SCM provider with ClearCase full version. To use it with ClearCase LT version, you must specify it in the
-    clearcase-settings.xml file.
-    Because ClearCase LT save the viewstore in a default predefined and unchangeable folder, you should also specify the viewstore
-    root location in the clearcase-settings.xml file. (It's need to remove the clearcase view)
+    This setting is only relevant if and when <<useVWSParameter>> has been left or set to the default value of <<true>>.
+    By default the viewstore location <<\\\\${hostname}\viewstore>> is used. To define another viewstore location,
+    use the following setting:
     
 -------
 <clearcase-settings>
     <viewstore>\\mymachine\myvwstore</viewstore>
+</clearcase-settings>
+-------
+
+** ClearCase LT
+
+    By default, the ClearCase SCM provider uses commands appropriate for the full ClearCase version. If you are using ClearCase LT instead,
+    you must specify this fact in the clearcase-settings.xml file.
+    As ClearCase LT uses a predefined and unchangeable folder as the viewstore directory, you should also specify the viewstore
+    root location in the clearcase-settings.xml file:
+    
+-------
+<clearcase-settings>
     <clearcaseLT>true</clearcaseLT>
+    <viewstore>\\mymachine\myvwstore</viewstore>
 </clearcase-settings>
 -------
+
+* ClearCase dynamic views
+
+    The ClearCase SCM provider uses snapshot views. In case you are forced to use ClearCase dynamic views, one option is to
+    use the {{{local.html}SCM local file system provider}} instead. Within the SCM URL, you could specify the view name
+    that the Continous Integration Server is using, for example:
+
+-------
+scm:local|\\view\continuum_view\MY_VOB\my\project|module1
+-------
+
+    Notice that this option provides only very limited integration of Maven into the configuration management system. As no
+    SCM metadata can be accessed, it is not possible to use SCM plugin features like creating tags (applying labels), creating changelogs,
+    and so on.
+