tla_load_dirs(1) Import upstream archives into tla, hg, darcs, or git and handle renames


tla_load_dirs [ -wWC | --wc=WC ] [ -lFILE | --log=FILE ] [ -LTEXT | --log-message=TEXT ] [ -sMSG | --summary=MSG ] [ -v | --verbose ] [ -n | --no-commit ] [ -f | --fs-changes-only ] vendor_source_dir

tla_load_dirs --version

tla_load_dirs [ --help | -h ]


tla_load_dirs 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. tla_load_dirs can handle both first imports of a package and successive imports.

For those familiar with Subversion, you will know that it has a tool called svn_load_dirs. tla_load_dirs is modeled after that program, but contains various improvements for ease of use.


In the simplest case, you will simply run tla_load_dirs from your working directory, passing it the name of the directory containing the new upstream sources. tla_load_dirs will run, usually making and committing changes without any need of greater assistance from you.


tla_load_dirs 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, tla_load_dirs will prompt you to solve the problem. You can opt to ignore it -- tla_load_dirs 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.

You will be presented with a four-column listing. Those columns, in order from left to right, represent:

File number for deleted file
File name of deleted file
File number of added file
File name of added file

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.

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.

If you want to rename several files at once, enter your rename commands separated by commas. For instance, "5 1b, 6 1c".


Displays a brief summary of the available options and exits.
Add the contents of FILE to the end of the log message automatically generated by tla_load_dirs for a commit/record.
Add the TEXT specified on the command line to the log message.
Sets the log summary line to the MSG 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.
Do not commit changes to the target VCS.
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.
Causes tla_load_dirs 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.
Causes tla_load_dirs to print its version number and exit.
Explicitly set the working copy directory to WC. If not specified, defaults to the current working directory.


tla_load_dirs, and this manual, are Copyright (C) 2003-2007 John Goerzen.

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.

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.

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


tla_load_dirs, its libraries, documentation, and all included files, except where noted, was written by John Goerzen <[email protected]> and copyright is held as stated in the COPYRIGHT section.

The homepage for tla_load_dirs is

This package may be downloaded from