<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>

  <header>
    
    <title>Apache Gump&#x2122;</title>
  <authors><person name="Sam Ruby" email="rubys@us.ibm.com"/></authors></header>

<body>

  <section><title>repository</title>
    <p>This represents the location from which modules can be obtained.</p>

    <table>
      <tr>
        <th>Attribute</th>
        <th>Description</th>
        <th>Required?</th>
      </tr>
      <tr>
        <td>name</td>
        <td>Name by which this repository will be referenced by module
          definitions.
        </td>
        <td>Yes</td>
      </tr>
      <tr>
        <td>type</td>
        <td>Type of repository.</td>
        <td><strong>cvs</strong>, <strong>svn</strong>, <strong>jars</strong>,
          <strong>p4</strong>, <strong>git</strong>, <strong>darcs</strong>,
          <strong>bzr</strong>, <strong>hg</strong> currently
          supported.</td>
      </tr>
      <tr>
        <td>compress</td>
        <td>Set the compression level.  Some CVS client/server combinations 
          will not work with compression.</td>
        <td>No, defaults to <code>-z3</code>.</td>
      </tr>
    </table>
    <p/>

    <table>
      <tr>
        <th>Entity</th>
        <th>Description</th>
        <th>Required?</th>
      </tr>
      <tr>
        <td>title</td>
        <td>Descriptive name for the repository</td>
        <td>No</td>
      </tr>
      <tr>
        <td>home-page</td>
        <td>Where to find out more information about the repository</td>
        <td>No</td>
      </tr>
      <tr>
        <td>cvsweb</td>
        <td>Web interface to the repository. <strong>To be deprecated, see &lt;web.</strong></td>
        <td>No</td>
      </tr>
      <tr>
        <td>web</td>
        <td>Web interface to the repository. (More appropriate for multiple types).</td>
        <td>No</td>
      </tr>
      <tr>
        <td>redistributable</td>
        <td>Are the outputs of this build redistributable?</td>
        <td>No</td>
      </tr>
    </table>
    <p/>

	<section>
		<title>CVS Usage</title>
		<section><title>root</title>
			<note>This is for type='cvs' only.</note>
			<p>This specifies all of the elements which are combined to form
      a CVSROOT.  They are split out into separate entities so that each
      can be individually overridden in a workspace definition.  When an
      entity is listed as required below, it means that when all of the
      definitions are combined the entity must have a value - a workspace
      or profile, for example, only needs to contain the values which it
      overrides.</p>

      <table>
        <tr>
          <th>Entity</th>
          <th>Description</th>
          <th>Required?</th>
        </tr>
        <tr>
          <td>method</td>
          <td/>
          <td>Yes</td>
        </tr>
        <tr>
          <td>user</td>
          <td/>
          <td>No</td>
        </tr>
        <tr>
          <td>password</td>
          <td/>
          <td>No</td>
        </tr>
        <tr>
          <td>hostname</td>
          <td/>
          <td>No</td>
        </tr>
        <tr>
          <td>path</td>
          <td/>
          <td>Yes</td>
        </tr>
      </table>
    </section>
	</section>
		<section>
		<title>SVN Usage</title><note>This is for type='svn' only.</note>
			<p>This specifies all of the elements which are combined to form
      an SVN command line  They are split out into separate entities so that each
      can be individually overridden in a workspace definition.  When an
      entity is listed as required below, it means that when all of the
      definitions are combined the entity must have a value - a workspace
      or profile, for example, only needs to contain the values which it
      overrides.</p>

      <table>
        <tr>
          <th>Entity</th>
          <th>Description</th>
          <th>Required?</th>
        </tr>
        <tr>
          <td>url</td>
          <td>This is the base URL for all modules that reside within this repository. 
			The <link href="module.html">module</link>'s &lt;svn <strong>dir</strong> attribute
			if appended to this base url.</td>
          <td>Yes</td>
        </tr>
        <tr>
          <td>user</td>
          <td>The username for this SVN repository. If blank, defaults to 'anonymous' access.</td>
          <td>No</td>
        </tr>
        <tr>
          <td>password</td>
          <td>The password (in plain text, use cautiously!). If blank, defaults to 'anonymous' access.</td>
          <td>No</td>
        </tr>
      </table>
	</section>
	<section>
		<title>Perforce Usage</title>
		<section><title>root</title>
			<note>This is for type='p4' only.</note>
			<p>This specifies all of the elements which are combined to communicate
      with a Perforce server.  They are split out into separate entities
      so that each can be individually overridden in a workspace definition.
      When an entity is listed as required below, it means that when all of
      the definitions are combined the entity must have a value - a workspace
      or profile, for example, only needs to contain the values which it
      overrides.</p>

      <table>
        <tr>
          <th>Entity</th>
          <th>Description</th>
          <th>Required?</th>
        </tr>
        <tr>
          <td>clientspec</td>
          <td>A Perforce clientspec is a set of mappings from server paths to local paths.  The Perforce server keeps track of what files are "current" in a particular clientspec; as a result, a clientspec cannot be shared across Apache Gump instances.  It is recommended to set the &lt;samp&gt;allwrite&lt;/samp&gt; option in the clientspec.</td>
          <td>Yes</td>
        </tr>
        <tr>
          <td>user</td>
          <td>Defaults to user running Gump</td>
          <td>No</td>
        </tr>
        <tr>
          <td>password</td>
          <td/>
          <td>No</td>
        </tr>
        <tr>
          <td>hostname</td>
          <td>Defaults to perforce:1666</td>
          <td>No</td>
        </tr>
      </table>
    </section>
	</section>
	<section>
	  <title>GIT/darcs/Bazaar/Mercurial Usage</title>
          <note>This is for type='git', type='darcs', type='bzr' and
            type='hg'.</note>

	  <p>This specifies all of the elements which are combined to
            form a command line.  They are split out into separate
            entities so that each can be individually overridden in a
            workspace definition.  When an entity is listed as required
            below, it means that when all of the definitions are combined
            the entity must have a value - a workspace or profile, for
            example, only needs to contain the values which it
            overrides.</p>

          <table>
            <tr>
              <th>Entity</th>
              <th>Description</th>
              <th>Required?</th>
            </tr>
            <tr>
              <td>url</td>
              <td>This is the base URL for all modules that reside
		within this repository.
		The <link href="module.html">module</link>'s
		&lt;git|darcs|bzr|hg <strong>dir</strong> attribute is
		appended to this base url if present.</td>
              <td>Yes</td>
            </tr>
          </table>
	</section>
	</section>
</body>
</document>
