Home Explore Blog CI



git

10th chunk of `Documentation/git-svn.adoc`
38e39889058ef13ec947fb5e35c6215338a62fedfa44fa290000000100000fa6

------------------------

svn.noMetadata::
svn-remote.<name>.noMetadata::
	This gets rid of the 'git-svn-id:' lines at the end of every commit.
+
This option can only be used for one-shot imports as 'git svn'
will not be able to fetch again without metadata. Additionally,
if you lose your '$GIT_DIR/svn/\**/.rev_map.*' files, 'git svn' will not
be able to rebuild them.
+
The 'git svn log' command will not work on repositories using
this, either.  Using this conflicts with the 'useSvmProps'
option for (hopefully) obvious reasons.
+
This option is NOT recommended as it makes it difficult to track down
old references to SVN revision numbers in existing documentation, bug
reports, and archives.  If you plan to eventually migrate from SVN to
Git and are certain about dropping SVN history, consider
https://github.com/newren/git-filter-repo[git-filter-repo] instead.
filter-repo also allows reformatting of metadata for ease-of-reading
and rewriting authorship info for non-"svn.authorsFile" users.

svn.useSvmProps::
svn-remote.<name>.useSvmProps::
	This allows 'git svn' to re-map repository URLs and UUIDs from
	mirrors created using SVN::Mirror (or svk) for metadata.
+
If an SVN revision has a property, "svm:headrev", it is likely
that the revision was created by SVN::Mirror (also used by SVK).
The property contains a repository UUID and a revision.  We want
to make it look like we are mirroring the original URL, so
introduce a helper function that returns the original identity
URL and UUID, and use it when generating metadata in commit
messages.

svn.useSvnsyncProps::
svn-remote.<name>.useSvnsyncprops::
	Similar to the useSvmProps option; this is for users
	of the svnsync(1) command distributed with SVN 1.4.x and
	later.

svn-remote.<name>.rewriteRoot::
	This allows users to create repositories from alternate
	URLs.  For example, an administrator could run 'git svn' on the
	server locally (accessing via file://) but wish to distribute
	the repository with a public http:// or svn:// URL in the
	metadata so users of it will see the public URL.

svn-remote.<name>.rewriteUUID::
	Similar to the useSvmProps option; this is for users who need
	to remap the UUID manually. This may be useful in situations
	where the original UUID is not available via either useSvmProps
	or useSvnsyncProps.

svn-remote.<name>.pushurl::

	Similar to Git's `remote.<name>.pushurl`, this key is designed
	to be used in cases where 'url' points to an SVN repository
	via a read-only transport, to provide an alternate read/write
	transport. It is assumed that both keys point to the same
	repository. Unlike 'commiturl', 'pushurl' is a base path. If
	either 'commiturl' or 'pushurl' could be used, 'commiturl'
	takes precedence.

svn.brokenSymlinkWorkaround::
	This disables potentially expensive checks to workaround
	broken symlinks checked into SVN by broken clients.  Set this
	option to "false" if you track a SVN repository with many
	empty blobs that are not symlinks.  This option may be changed
	while 'git svn' is running and take effect on the next
	revision fetched.  If unset, 'git svn' assumes this option to
	be "true".

svn.pathnameencoding::
	This instructs git svn to recode pathnames to a given encoding.
	It can be used by windows users and by those who work in non-utf8
	locales to avoid corrupted file names with non-ASCII characters.
	Valid encodings are the ones supported by Perl's Encode module.

svn-remote.<name>.automkdirs::
	Normally, the "git svn clone" and "git svn rebase" commands
	attempt to recreate empty directories that are in the
	Subversion repository.  If this option is set to "false", then
	empty directories will only be created if the "git svn mkdirs"
	command is run explicitly.  If unset, 'git svn' assumes this
	option to be "true".

Since the noMetadata, rewriteRoot, rewriteUUID, useSvnsyncProps and useSvmProps
options all affect the metadata generated and used by 'git svn'; they
*must* be set in the configuration file before any history is imported

Title: Git SVN Configuration File Options
Summary
The git-svn tool provides various configuration file options to customize its behavior, including options for metadata handling, repository URL rewriting, and character encoding, which must be set before importing history to take effect.