jgoerzen edited this page Sep 13, 2010 · 4 revisions
Clone this wiki locally


John Goerzen is no longer maintaining this software. You are welcome to fork and maintain a branch for yourself!

Welcome to vcs-load-dirs

vcs-load-dirs is a tool to automate and simplify the loading of software into version control systems. It is designed primarily for importing from a non-version-controlled upstream, such as processing release tarballs.

While a bit of scripting can help some version control systems achieve a basic version of this, vcs-load-dirs often does better than that, especially concerning renames.

vcs-load-dirs is a Free Software project licensed under the GNU General Public License. You can download it for free, and you can modify it. In fact, you are encouraged to contribute to vcs-load-dirs, and doing so is fast and easy.

vcs-load-dirs is written in pure Python and has been known to work on various versions of Linux and BSD. It was written primarily in response to Subversion’s svn_load_dirs, which was tied to Subversion’s internals and not portable to other VCSs.

Downloads and Development

Please see the Github project page


  • When a given import directory represents only adds or only deletes from the tree in version control, vcs-load-dirs automatically issues the needed add/delete commands to tell the VCS what happened.
  • When an import directory represents both adds or deletes, vcs-load-dirs realizes that, rather than a bunch of discrete adds and deletes, there may be files that were renamed. It enters an interactive mode, showing deleted and added files, and lets you match them up if you believe any were renamed. You can optionally skip this step if you don’t want your VCS to track the renames. vcs-load-dirs will inform your VCS about renames, adds, and deletes.

VCS support

These version control systems are supported by vcs-load-dirs:

VCS executable name Debian package Author(s)
Common core . load-dirs-common John Goerzen
baz (bazaar) baz_load_dirs baz-load-dirs Teemu Ikonen
Darcs darcs_load_dirs darcs-load-dirs John Goerzen
Git git_load_dirs git-load-dirs Guido Guenther
Mercurial (aka hg) hg_load_dirs hg-load-dirs John Goerzen
SVK svk_load_dirs svk-load-dirs Florian Ragwitz
tla (Arch v1) tla_load_dirs tla-load-dirs John Goerzen