The "import" command:
or: fossil import --svn ?OPTIONS? NEW-REPOSITORY ?INPUT-FILE?
Read interchange format generated by another VCS and use it to construct a new Fossil repository named by the NEW-REPOSITORY argument. If no input file is supplied the interchange format data is read from standard input.
The following formats are currently understood by this command
- --git
 - Import from the git-fast-export file format (default) Options:
 
- --import-marks
 - FILE Restore marks table from FILE
 - --export-marks
 - FILE Save marks table to FILE
 - --rename-master NAME Renames the master branch to NAME
 - --use-author
 - Uses author as the committer
 - --attribute
 - "EMAIL USER" Attribute commits to USER instead of Git committer EMAIL address
 
- --svn
 - Import from the svnadmin-dump file format. The default behaviour (unless overridden by --flat) is to treat 3 folders in the SVN root as special, following the common layout of SVN repositories. These are (by default) trunk/, branches/ and tags/. The SVN --deltas format is supported but not required. Options:
 
- --trunk FOLDER
 - Name of trunk folder
 - --branches FOLDER
 - Name of branches folder
 - --tags FOLDER
 - Name of tags folder
 - --base PATH
 - Path to project root in repository
 - --flat
 - The whole dump is a single branch
 - --rev-tags
 - Tag each revision, implied by -i
 - --no-rev-tags
 - Disables tagging effect of -i
 - --rename-rev PAT
 - Rev tag names, default "svn-rev-%"
 - --ignore-tree DIR
 - Ignores subtree rooted at DIR
 
Common Options:
- -i|--incremental
 - Allow importing into an existing repository
 - -f|--force
 - Overwrite repository if already exists
 - -q|--quiet
 - Omit progress output
 - --no-rebuild
 - Skip the "rebuilding metadata" step
 - --no-vacuum
 - Skip the final VACUUM of the database file
 - --rename-trunk NAME
 - Use NAME as name of imported trunk branch
 - --rename-branch PAT
 - Rename all branch names using PAT pattern
 - --rename-tag PAT
 - Rename all tag names using PAT pattern
 - -A|--admin-user NAME Use NAME for the admin user
 
The --incremental option allows an existing repository to be extended with new content. The --rename-* options may be useful to avoid name conflicts when using the --incremental option. The --admin-user option is ignored if --incremental is specified.
The argument to --rename-* contains one "%" character to be replaced with the original name. For example, "--rename-tag svn-%-tag" renames the tag called "release" to "svn-release-tag".
--ignore-tree is useful for importing Subversion repositories which move branches to subdirectories of "branches/deleted" instead of deleting them. It can be supplied multiple times if necessary.
The --attribute option takes a quoted string argument comprised of a Git committer email and the username to be attributed to corresponding check-ins in the Fossil repository. This option can be repeated. For example, --attribute "[email protected] drh" --attribute "[email protected] X". Attributions are persisted to the repository so that subsequent 'fossil git export' operations attribute Fossil commits to corresponding 'Git Committer <[email protected]>' users, and incremental imports with 'fossil import --git --incremental' use previous --attribute records.
See also: export