{"thread":{"id":"5896","subject":"[PATCH] git-svn: add a message encouraging use of SVN::* libraries","startedAt":"2006-10-12T01:19:55Z","lastAt":"2006-10-12T01:19:55Z","messageCount":1,"participants":["Eric Wong"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"28651","messageId":"11606159952672-git-send-email-normalperson@yhbt.net","threadId":"5896","inReplyTo":null,"subject":"[PATCH] git-svn: add a message encouraging use of SVN::* libraries","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-10-12T01:19:55Z","receivedAt":"2006-10-12T01:19:55Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"I'm using svn 1.4.0-4 in Debian unstable and apparently there's\na regression on the SVN side that prevents a symlink from\nbecoming a regular file (which git supports, of course).\n\nIt's not a noticeable regression for most people, but this broke\nthe full-svn-tests target in t/Makefile for me.\n\nThe SVN::* Perl libraries seem to have matured and improved over\nthe past year, and git-svn has supported them for several months\nnow, so with that I encourage all users to start using the\nSVN::* Perl libraries with git-svn.\n\nSigned-off-by: Eric Wong <normalperson@yhbt.net>\n---\n git-svn.perl |   14 ++++++++++++++\n 1 files changed, 14 insertions(+), 0 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 84d2c58..a128d90 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -40,8 +40,22 @@ memoize('cmt_metadata');\n memoize('get_commit_time');\n \n my ($SVN_PATH, $SVN, $SVN_LOG, $_use_lib);\n+\n+sub nag_lib {\n+\tprint STDERR <<EOF;\n+! Please consider installing the SVN Perl libraries (version 1.1.0 or\n+! newer).  You will generally get better performance and fewer bugs,\n+! especially if you:\n+! 1) have a case-insensitive filesystem\n+! 2) replace symlinks with files (and vice-versa) in commits\n+\n+EOF\n+}\n+\n $_use_lib = 1 unless $ENV{GIT_SVN_NO_LIB};\n libsvn_load();\n+nag_lib() unless $_use_lib;\n+\n my $_optimize_commits = 1 unless $ENV{GIT_SVN_NO_OPTIMIZE_COMMITS};\n my $sha1 = qr/[a-f\\d]{40}/;\n my $sha1_short = qr/[a-f\\d]{4,40}/;\n-- \n1.4.3.rc2.g1cbb0\n"}]}