git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-svn: add a message encouraging use of SVN::* libraries

From
EWEric Wong <normalperson@yhbt.net>
Date
Oct 12, 2006, 01:19 UTC
Message-ID
<11606159952672-git-send-email-normalperson@yhbt.net>

I'm using svn 1.4.0-4 in Debian unstable and apparently there's a regression on the SVN side that prevents a symlink from becoming a regular file (which git supports, of course).

It's not a noticeable regression for most people, but this broke the full-svn-tests target in t/Makefile for me.

The SVN::* Perl libraries seem to have matured and improved over the past year, and git-svn has supported them for several months now, so with that I encourage all users to start using the SVN::* Perl libraries with git-svn.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 git-svn.perl |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index 84d2c58..a128d90 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -40,8 +40,22 @@ memoize('cmt_metadata');
 memoize('get_commit_time');
 
 my ($SVN_PATH, $SVN, $SVN_LOG, $_use_lib);
+
+sub nag_lib {
+	print STDERR <<EOF;
+! Please consider installing the SVN Perl libraries (version 1.1.0 or
+! newer).  You will generally get better performance and fewer bugs,
+! especially if you:
+! 1) have a case-insensitive filesystem
+! 2) replace symlinks with files (and vice-versa) in commits
+
+EOF
+}
+
 $_use_lib = 1 unless $ENV{GIT_SVN_NO_LIB};
 libsvn_load();
+nag_lib() unless $_use_lib;
+
 my $_optimize_commits = 1 unless $ENV{GIT_SVN_NO_OPTIMIZE_COMMITS};
 my $sha1 = qr/[a-f\d]{40}/;
 my $sha1_short = qr/[a-f\d]{4,40}/;
-- 
1.4.3.rc2.g1cbb0
Message 1 of 1 in “git-svn: add a message encouraging use of SVN::* libraries”
  1. git-svn: add a message encouraging use of SVN::* librariesEric Wong, Oct 12, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.