blob: f1c8a64c46bb67d24d963d6c85f6735f456ee1fd [file] [log] [blame]
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY vld "<application>vcs_load_dirs</application>">
]>
<!-- "file:///usr/share/sgml/docbook/dtd/xml/4.2/docbookx.dtd"> -->
<reference>
<title>vcs_load_dirs Manual</title>
<refentry>
<refentryinfo>
<address><email>jgoerzen@complete.org</email></address>
<author><firstname>John</firstname><surname>Goerzen</surname></author>
</refentryinfo>
<refmeta>
<refentrytitle>vcs_load_dirs</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>John Goerzen</refmiscinfo>
</refmeta>
<refnamediv>
<refname>vcs_load_dirs</refname>
<refpurpose>Import upstream archives into tla, hg, darcs, or git and handle renames</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>vcs_load_dirs</command>
<group>
<arg>-w<replaceable>WC</replaceable></arg>
<arg>--wc=<replaceable>WC</replaceable></arg>
</group>
<group>
<arg>-l<replaceable>FILE</replaceable></arg>
<arg>--log=<replaceable>FILE</replaceable></arg>
</group>
<group>
<arg>-L<replaceable>TEXT</replaceable></arg>
<arg>--log-message=<replaceable>TEXT</replaceable></arg>
</group>
<group>
<arg>-s<replaceable>MSG</replaceable></arg>
<arg>--summary=<replaceable>MSG</replaceable></arg>
</group>
<group>
<arg>-v</arg>
<arg>--verbose</arg>
</group>
<group>
<arg>-n</arg>
<arg>--no-commit</arg>
</group>
<group>
<arg>-f</arg>
<arg>--fs-changes-only</arg>
</group>
<arg choice="plain">vendor_source_dir</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>vcs_load_dirs</command>
<arg choice="plain">--version</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>vcs_load_dirs</command>
<group>
<arg choice="plain">--help</arg>
<arg choice="plain">-h</arg>
</group>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
&vld; is a tool to help you import archives from people that
do not use Arch, Mercurial, Darcs, or Git into an Arch,
Mercurial, Darcs, or Git
archive. Along the way, it takes
care of all the typical hassles: it will create tags in the
repository for new files; delete tags for removed files;
and move tags for files that have themselves been moved.
&vld; can handle both first imports of a package and
successive imports.
</para>
<para>
For those familiar with Subversion, you will know that it has
a tool called <application>svn_load_dirs</application>. &vld;
is modeled after that program, but contains various
improvements for ease of use.
</para>
</refsect1>
<refsect1>
<title>Usage</title>
<para>
In the simplest case, you will simply run &vld; from your
working directory, passing it the name of the directory
containing the new upstream sources. &vld will run, usually
making and commiting changes without any need of greater
assistance from you.
</para>
<refsect2>
<title>Renamed Files</title>
<para>
&vld; can automatically detect added files and deleted files
if they occur in isolation. However, it cannot
automatically tell the difference between a delete and an
add, and a rename. (There is not enough information in
simple upstream imports to capture the intent.)
Therefore, &vld; will prompt you to solve the problem.
You can opt to ignore it -- &vld; will just issue deletes
and adds as appropriate -- but then your history will be
harder to track if there were indeed renames along the way.
</para>
<para>
You will be presented with a four-column listing. Those
columns, in order from left to right, represent:
</para>
<orderedlist>
<listitem><para>File number for deleted file</para>
</listitem>
<listitem><para>File name of deleted file</para>
</listitem>
<listitem><para>File number of added file</para>
</listitem>
<listitem><para>File name of added file</para>
</listitem>
</orderedlist>
<para>
You have three options at this point: you can press q to
indicate that there are no more renames; you can press r to
request the list be re-drawn, or you can supply one or more
renames.
</para>
<para>
A rename uses the left column as the old name and the right
column as the new name. To save you typing, you just enter
the appropriate file numbers separated by spaces. So, if
the file at position 5 on the left moved to position 1b on
the right, just enter "5 1b". After doing that, the list
will be automatically re-drawn, and you can either make
further selections or exit.
</para>
<para>
If you want to rename several files at once, enter your
rename commands separated by commas. For instance, "5 1b, 6
1c".
</para>
</refsect2>
</refsect1>
<refsect1>
<title>Options</title>
<variablelist>
<varlistentry><term>-h</term>
<term>--help</term>
<listitem><para>Displays a brief summary of the available
options and exits.</para>
</listitem>
</varlistentry>
<varlistentry><term>-l<replaceable>FILE</replaceable></term>
<term>--log=<replaceable>FILE</replaceable></term>
<listitem><para>
Add the contents of <replaceable>FILE</replaceable> to
the end of the log message automatically generated by
&vld; for a commit/record.
</para>
</listitem>
</varlistentry>
<varlistentry><term>-L<replaceable>TEXT</replaceable></term>
<term>--log-message=<replaceable>TEXT</replaceable></term>
<listitem><para>
Add the <replaceable>TEXT</replaceable> specified on the
command line to the log message.
</para>
</listitem>
</varlistentry>
<varlistentry><term>-s<replaceable>MSG</replaceable></term>
<term>--summary=<replaceable>MSG</replaceable></term>
<listitem>
<para>
Sets the log summary line to the
<replaceable>MSG</replaceable> supplied on the command
line. This operation requires Darcs, Mercurial, or
tla 1.1 or above; tla 1.0
does not provide the features necessary to implement it.
</para>
</listitem>
</varlistentry>
<varlistentry><term>-n</term>
<term>--no-commit</term>
<listitem><para>
Do not commit changes to the target VCS.
</para>
</listitem>
</varlistentry>
<varlistentry><term>-f</term>
<term>--fs-changes-only</term>
<listitem><para>
Move files in the filesystem, but do not inform VCS of
changes. You will almost certainly want to use this
with -n. This also suppresses the interactive interface.
</para>
</listitem>
</varlistentry>
<varlistentry><term>-v</term>
<term>--verbose</term>
<listitem><para>Causes &vld; to display additional status
information. You will see the darcs/tla/git/hg commands that are
being run behind the scenes, and some executed commands
may receive arguments asking them to be more verbose as
well.
</para>
</listitem>
</varlistentry>
<varlistentry><term>--version</term>
<listitem><para>Causes &vld; to print its version number and
exit.
</para>
</listitem>
</varlistentry>
<varlistentry><term>-w<replaceable>WC</replaceable></term>
<term>--wc=<replaceable>WC</replaceable></term>
<listitem>
<para>
Explicitly set the working copy directory to
<replaceable>WC</replaceable>. If not specified,
defaults to the current working directory.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Copyright</title>
<para>&vld;, and this manual, are Copyright &copy; 2003-2007 John Goerzen.</para>
<para>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
</para>
<para>
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
</para>
<para>
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</para>
</refsect1>
<refsect1>
<title>Author</title>
<para>&vld;, its libraries, documentation, and all included files, except where
noted, was written by John Goerzen <email>jgoerzen@complete.org</email> and
copyright is held as stated in the COPYRIGHT section.
</para>
<para>
The homepage for &vld; is
<ulink
url="http://software.complete.org/vcs-load-dirs"></ulink>
</para>
<para>
This package may be downloaded from
<ulink
url="http://packages.debian.org/vcs-load-dirs"></ulink>.
darcs users may also obtain the latest version with:
<screen>
$ darcs get --partial http://darcs.complete.org/vcs-load-dirs
</screen>
</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<application>tla</application>(1),
<application>darcs</application>(1),
<application>hg</application>(1),
<application>git</application>(1),
<application>tla-buildpackage</application>(1),
<application>darcs-buildpackage</application>(1),
<application>hg-buildpackage</application>(1).
</para>
</refsect1>
</refentry>
</reference>
<!--
Local Variables:
mode: sgml
sgml-set-face: T
End:
-->