<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" [

<!-- Process this file with docbook-to-man to generate an nroff manual
     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
     less'.  A typical entry in a Makefile or Makefile.am is:

cfvadmin.1: cfvadmin.sgml
	docbook-to-man $< > $@

    
	The docbook-to-man binary is found in the docbook-to-man package.
	Please remember that if you create the nroff version in one of the
	debian/rules file targets (such as build), you will need to include
	docbook-to-man in your Build-Depends control field.

  -->

  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
  <!ENTITY dhfirstname "<firstname>Iustin</firstname>">
  <!ENTITY dhsurname   "<surname>Pop</surname>">
  <!-- Please adjust the date whenever revising the manpage. -->
  <!ENTITY dhdate      "<date>October 30, 2005</date>">
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
       allowed: see man(7), man(1). -->
  <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
  <!ENTITY dhemail     "<email>iusty@k1024.org</email>">
  <!ENTITY dhusername  "Iustin Pop">
  <!ENTITY dhucpackage "<refentrytitle>CFVADMIN</refentrytitle>">
  <!ENTITY command   "cfvadmin">

  <!ENTITY cfvers      "<productname>cfvers</productname>">
  <!ENTITY gnu         "<acronym>GNU</acronym>">
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
]>

<refentry>
  <refentryinfo>
    <address>
      &dhemail;
    </address>
    <author>
      &dhfirstname;
      &dhsurname;
    </author>
    <copyright>
      <year>2003</year>
      <year>2004</year>
      <year>2005</year>
      <holder>&dhusername;</holder>
    </copyright>
    &dhdate;
  </refentryinfo>
  <refmeta>
    &dhucpackage;

    &dhsection;
  </refmeta>
  <refnamediv>
    <refname>&command;</refname>

    <refpurpose>&cfvers; command line administration tool</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>&command;</command>

      <arg>global_options</arg>

      <arg choice="req">command</arg>

      <arg>command_options</arg>

      <arg rep="norepeat">command_arguments</arg>

    </cmdsynopsis>
    <cmdsynopsis>
      <command>&command;</command>

      <arg><option>--version</option></arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>&command;</command>

      <arg><option>--help</option></arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>DESCRIPTION</title>

    <para>This manual page documents briefly the <command>&command;</command> command, version 0.5.4.</para>

    <para>&cfvers; is a version control system designed for the management of configuration files in Unix-like operating systems..</para>
    <para><command>&command;</command> is the command-line administration tool used to initialise repositories, add and remove areas in them, etc.</para>

  </refsect1>

  <refsect1>
    <title>OPTIONS</title>

    <para>These options follow the usual &gnu; command line syntax,
      with long options starting with two dashes (`-'). &command; has
      two classes of options: global options and command options.</para>

    <refsect2>
      <title>GLOBAL OPTIONS</title>
      <para>These are the global options to &command;</para>
      <variablelist>
	<varlistentry>
	  <term><option>-h</option>, <option>--help</option></term>
	  <listitem>
	    <para>Show summary of options.</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><option>--version</option></term>
	  <listitem>
	    <para>Show the version of the program and copyright information.</para>
	  </listitem>
	</varlistentry>

        <!-- Begin repository info -->

        <varlistentry>
          <term><option>--local</option></term>
          <listitem>
            <para>Connect directly to the repository, in contrast to connecting through the <command>cfversd</command> server. When selecting this option, you can specify the repository through:
              <variablelist>
                <varlistentry>
                  <term><option>--rtype</option></term>
                  <listitem>
                    <para>Selects the repository type: either sqlite or postgresql.</para>
                  </listitem>
                </varlistentry>
                <varlistentry>
                  <term><option>--rdata</option></term>
                  <listitem>
                    <para>The connection info for the repository; this is repository-dependent. For sqlite it is a file name; for postgresql, a string of the form "dbname=mydb user=myuser password=mypw host=...".</para>
                  </listitem>
                </varlistentry>
              </variablelist>
            </para>
          </listitem>
        </varlistentry>
	<varlistentry>
	  <term><option>--remote</option></term>
	  <listitem>
	    <para>Connects through a cfversd server. When selecting this option, you can also give the connection details directly in the command line:
              <variablelist>
                <varlistentry>
                  <term><option>-s, --server</option> <replaceable>HOSTNAME</replaceable></term>
                  <listitem>
                    <para>The name or address of the server.</para>
                  </listitem>
                </varlistentry>
                <varlistentry>
                  <term><option>-p, --port</option> <replaceable>PORT</replaceable></term>
                  <listitem>
                    <para>The port on which the server is listening.</para>
                  </listitem>
                </varlistentry>
                <varlistentry>
                  <term><option>-u, --username</option> <replaceable>USER</replaceable></term>
                  <listitem>
                    <para>The username used for authentication to the server</para>
                  </listitem>
                </varlistentry>
              </variablelist>
              Note that unless you put in the configuration file (<filename>~/.cfvers</filename>) the password for the client and server or in the environment, you will be prompted for them.
            </para>
	  </listitem>
	</varlistentry>
      </variablelist>

      <!-- End repository info -->
      
    </refsect2>

    <refsect2>
      <title>&command; command summary</title>
      <para>Here are the brief descriptions of the &command; commands:</para>
      <variablelist>
	<varlistentry>
	  <term>create</term>
	  <listitem>
	    <para>Creates a new area in the repository.</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term>info</term>
	  <listitem>
	    <para>Shows informations about the repository, like number of area present, the number of items in each area, etc.</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term>init</term>
	  <listitem>
	    <para>Initialises the repository and create the first area. <emphasis>Warning:</emphasis>This command is destructive, erasing all your versioned information. Be careful!
	    </para>
	  </listitem>
	</varlistentry>
      </variablelist>
    </refsect2>

    <refsect2>
      <title>CFVADMIN COMMANDS</title>
      <para>Here are details on all the cfvadmin commands and the options each accepts.</para>

      <refsect3>
	<title>create</title>
	<cmdsynopsis>
	  <command>create</command>
	  <arg>-d<option>DESCRIPTION</option></arg>
	  <arg>-p<option>ROOTPATH</option></arg>
	  <arg choice="req" rep="norepeat">ITEM</arg>
	</cmdsynopsis>
	<para>Creates a new area in the repository. The area name is mandatory and must be given as the first and only argument. Additional properties of the area can be specified using:
	  <itemizedlist>
	    <listitem>
	      <para><option>-d</option><replaceable>DESCRIPTION</replaceable> - the area description. Defaults to none.</para>
	    </listitem>
	    <listitem>
	      <para><option>-p</option><replaceable>ROOTPATH</replaceable> - the root path of this area. Defaults to <filename class="directory">/</filename>, and could be useful for chroots or individual user backups.</para>
	    </listitem>
	  </itemizedlist>
	</para>
      </refsect3>

      <refsect3>
	<title>info</title>
	<para>Shows informations about the repository. This is an example output:</para>
	<screen>
	  Local repository has 2 area(s)
	  -------------------------
	  Name: default
	  Created at 2003-10-18 12:42:29 EET
	  Root path: /
	  Description: Default area
	  Revision number: 3
	  Number of items: 3
	  -------------------------
	  ID #2
	  Name: test
	  Created at 2003-10-18 15:22:02 EET
	  Root path: /home/jdoe
	  Description: test area
	  Revision number: 1
	  Number of items: 1</screen>
      </refsect3>

      <refsect3>
	<title>init</title>
	<cmdsynopsis>
	  <command>init</command>
	  <arg>--force</arg>
	  <arg>--skip-data</arg>
	</cmdsynopsis>
	<para>This command will initialise the selected repository. It will also initialise a default area, named "default", on the local server.</para>

	<para>To reinitialize an already-existing repository, pass the <option>--force</option> option. This will drop the existing schema first (please ignore any errors which show up in this stage), and afterwards init the repository in the standard way.</para>
	<para>To skip the area creation, pass the <option>--skip-data</option> option. This will only initialize the repository, without creating the default area, allowing you to create it later with customized properties.</para>
      </refsect3>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>BUGS</title>
    <para>There should be a command to modifiy the properties of an area.</para>
    <para>There should be a command to delete an area (and all the items it contains).</para>
  </refsect1>

  <refsect1>
    <title>SEE ALSO</title>

    <para>
      <citerefentry>
	<refentrytitle>cfv</refentrytitle>
	<manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>cfvers.conf</refentrytitle>
	<manvolnum>5</manvolnum>
      </citerefentry>,
      <citetitle>cfvers user manual</citetitle>
    </para>
    <para>
      <citerefentry>
	<refentrytitle>cvs</refentrytitle>
	<manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>svn</refentrytitle>
	<manvolnum>1</manvolnum>
      </citerefentry>
    </para>

  </refsect1>
  <refsect1>
    <title>AUTHOR</title>

    <para>This manual page was written by &dhusername; &dhemail; </para>

    <para>The manual pages <citerefentry>
	<refentrytitle>cvs</refentrytitle>
	<manvolnum>1</manvolnum>
      </citerefentry> and <citerefentry>
	<refentrytitle>svn</refentrytitle>
	<manvolnum>1</manvolnum>
      </citerefentry> were used as sources of inspiration (and copy-paste in some cases), since these are real versioning programs :-), with proper man pages.
    </para>

  </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
