git-svn: add an option to skip the creation of empty directories

"git svn mkdirs" (which creates empty directories in the current
working copy) can be very slow and is often unnecessary.  Provide a
config file option "svn-remote.<name>.automkdirs" that prevents empty
directories from being created automatically.  (They are still created
if "git svn mkdirs" is invoked explicitly.)

Based-on-patch-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michael Haggerty
2011-04-01 12:26:00 +02:00
committed by Junio C Hamano
parent 6acef04358
commit 55f9d7a75c
3 changed files with 42 additions and 2 deletions

View File

@ -343,6 +343,8 @@ Any other arguments are passed directly to 'git log'
Empty directories are automatically recreated when using
"git svn clone" and "git svn rebase", so "mkdirs" is intended
for use after commands like "git checkout" or "git reset".
(See the svn-remote.<name>.automkdirs config file option for
more information.)
'commit-diff'::
Commits the diff of two tree-ish arguments from the
@ -663,6 +665,14 @@ svn.pathnameencoding::
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