git_load_dirs1
Import upstream archives into tla, hg, darcs, or git and handle renames
Usage
git_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
git_load_dirs --version
git_load_dirs [{--help | -h}]
Overview
git_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. git_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. git_load_dirs is modeled after that program, but contains various improvements for ease of use.
Usage
In the simplest case, you will simply run git_load_dirs from your working directory, passing it the name of the directory containing the new upstream sources. git_load_dirs will run, usually making and committing changes without any need of greater assistance from you.
Renamed files
git_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, git_load_dirs will prompt you to solve the problem. You can opt to ignore it -- git_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:
1.
|
File number for deleted file |
|---|---|
2.
|
File name of deleted file |
3.
|
File number of added file |
4.
|
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".
Options
-
-h
-
--help -
Displays a brief summary of the available options and exits.
-
-lFILE
-
--log=FILE -
Add the contents of FILE to the end of the log message automatically generated by
git_load_dirsfor a commit/record.
-
-LTEXT
-
--log-message=TEXT -
Add the TEXT specified on the command line to the log message.
-
-sMSG
-
--summary=MSG -
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.
-
-n
-
--no-commit -
Do not commit changes to the target VCS.
-
-f
-
--fs-changes-only -
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.
-
-v
-
--verbose -
Causes
git_load_dirsto 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.
-
--version -
Causes
git_load_dirsto print its version number and exit.
-
-wWC
-
--wc=WC -
Explicitly set the working copy directory to WC. If not specified, defaults to the current working directory.
Releases
3 releases since Debian 4.0 (Etch); the text changed 2 times.
--fs-changes-only since Debian 5.0 (Lenny);
--no-commit since Debian 5.0 (Lenny);
-f since Debian 5.0 (Lenny);
-n since Debian 5.0 (Lenny).