Home Explore Blog CI



git

3rd chunk of `Documentation/git-svn.adoc`
64c4c217e7ab4591265e039a77968e53c179af6a29ce24d80000000100000fa2
	`^refs/remotes/origin/(?!tags/wanted-tag|wanted-branch).*$`
	can be used to allow only certain refs.
+
[verse]
config key: svn-remote.<name>.ignore-refs
+
If the ignore-refs configuration key is set, and the command-line
option is also given, both regular expressions will be used.

--ignore-paths=<regex>;;
	This allows one to specify a Perl regular expression that will
	cause skipping of all matching paths from checkout from SVN.
	The `--ignore-paths` option should match for every 'fetch'
	(including automatic fetches due to 'clone', 'dcommit',
	'rebase', etc) on a given repository.
+
[verse]
config key: svn-remote.<name>.ignore-paths
+
If the ignore-paths configuration key is set, and the command-line
option is also given, both regular expressions will be used.
+
Examples:
+
--
Skip "doc*" directory for every fetch;;
+
------------------------------------------------------------------------
--ignore-paths="^doc"
------------------------------------------------------------------------

Skip "branches" and "tags" of first level directories;;
+
------------------------------------------------------------------------
--ignore-paths="^[^/]+/(?:branches|tags)"
------------------------------------------------------------------------
--

--include-paths=<regex>;;
	This allows one to specify a Perl regular expression that will
	cause the inclusion of only matching paths from checkout from SVN.
	The `--include-paths` option should match for every 'fetch'
	(including automatic fetches due to 'clone', 'dcommit',
	'rebase', etc) on a given repository. `--ignore-paths` takes
	precedence over `--include-paths`.
+
[verse]
config key: svn-remote.<name>.include-paths

--log-window-size=<n>;;
	Fetch <n> log entries per request when scanning Subversion history.
	The default is 100. For very large Subversion repositories, larger
	values may be needed for 'clone'/'fetch' to complete in reasonable
	time. But overly large values may lead to higher memory usage and
	request timeouts.

'clone'::
	Runs 'init' and 'fetch'.  It will automatically create a
	directory based on the basename of the URL passed to it;
	or if a second argument is passed; it will create a directory
	and work within that.  It accepts all arguments that the
	'init' and 'fetch' commands accept; with the exception of
	`--fetch-all` and `--parent`.  After a repository is cloned,
	the 'fetch' command will be able to update revisions without
	affecting the working tree; and the 'rebase' command will be
	able to update the working tree with the latest changes.

--preserve-empty-dirs;;
	Create a placeholder file in the local Git repository for each
	empty directory fetched from Subversion.  This includes directories
	that become empty by removing all entries in the Subversion
	repository (but not the directory itself).  The placeholder files
	are also tracked and removed when no longer necessary.

--placeholder-filename=<filename>;;
	Set the name of placeholder files created by --preserve-empty-dirs.
	Default: ".gitignore"

'rebase'::
	This fetches revisions from the SVN parent of the current HEAD
	and rebases the current (uncommitted to SVN) work against it.
+
This works similarly to `svn update` or 'git pull' except that
it preserves linear history with 'git rebase' instead of
'git merge' for ease of dcommitting with 'git svn'.
+
This accepts all options that 'git svn fetch' and 'git rebase'
accept.  However, `--fetch-all` only fetches from the current
[svn-remote], and not all [svn-remote] definitions.
+
Like 'git rebase'; this requires that the working tree be clean
and have no uncommitted changes.
+
This automatically updates the rev_map if needed (see
'$GIT_DIR/svn/\**/.rev_map.*' in the FILES section below for details).

-l;;
--local;;
	Do not fetch remotely; only run 'git rebase' against the
	last fetched commit from the upstream SVN.

'dcommit'::
	Commit each diff from the current branch directly to the SVN
	repository, and then rebase or reset (depending on whether or
	not there

Title: Git SVN Configuration and Command Options
Summary
The git-svn tool provides various options for configuring and customizing its behavior, including ignoring or including specific paths, setting log window sizes, preserving empty directories, and specifying placeholder filenames, as well as commands for cloning, rebasing, and committing changes to an SVN repository.