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

[PATCH 1/1] Tried to fix git-svn's handling of filenames with embedded '@'.

From
Seth Falcon <sethfalcon@gmail.com>
Date
May 28, 2006, 18:15 UTC
Message-ID
<m2verqkobr.fsf@ziti.fhcrc.org>
In-Reply-To
<m21wuem2xj.fsf@ziti.fhcrc.org>

svn has trouble parsing files with embedded '@' characters. For example,

  svn propget svn:keywords foo@bar.c
  svn: Syntax error parsing revision 'bar.c'

I asked about this on #svn and the workaround suggested was to append an explicit revision specifier:

  svn propget svn:keywords foo@bar.c@BASE
This patch appends '@BASE' to the filename in all calls to 'svn
propget'.
---
 contrib/git-svn/git-svn.perl |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/contrib/git-svn/git-svn.perl b/contrib/git-svn/git-svn.perl
index b3e0684..498ffe0 100755
--- a/contrib/git-svn/git-svn.perl
+++ b/contrib/git-svn/git-svn.perl
@@ -336,7 +336,7 @@ sub show_ignore {
 	my %ign;
 	File::Find::find({wanted=>sub{if(lstat $_ && -d _ && -d "$_/.svn"){
 		s#^\./##;
-		@{$ign{$_}} = safe_qx(qw(svn propget svn:ignore),$_);
+		@{$ign{$_}} = safe_qx(qw(svn propget svn:ignore),$_ . "\@BASE");
 		}}, no_chdir=>1},'.');
 
 	print "\n# /\n";
@@ -860,7 +860,7 @@ sub sys { system(@_) == 0 or croak $? }
 
 sub eol_cp {
 	my ($from, $to) = @_;
-	my $es = safe_qx(qw/svn propget svn:eol-style/, $to);
+	my $es = safe_qx(qw/svn propget svn:eol-style/, $to . "\@BASE");
 	open my $rfd, '<', $from or croak $!;
 	binmode $rfd or croak $!;
 	open my $wfd, '>', $to or croak $!;
@@ -898,7 +898,8 @@ sub do_update_index {
 	while (my $x = <$p>) {
 		chomp $x;
 		if (!$no_text_base && lstat $x && ! -l _ &&
-				safe_qx(qw/svn propget svn:keywords/,$x)) {
+				safe_qx(qw/svn propget svn:keywords/,
+                                        $x . "\@BASE")) {
 			my $mode = -x _ ? 0755 : 0644;
 			my ($v,$d,$f) = File::Spec->splitpath($x);
 			my $tb = File::Spec->catfile($d, '.svn', 'tmp',
-- 
1.3.3.gb931
Previous: Seth FalconNext: Junio C Hamano
Message 2 of 9 in “Tried to fix git-svn's handling of filenames with embedded '@'.”
  1. 0/1 Tried to fix git-svn's handling of filenames with embedded '@'.Seth Falcon, May 28, 2006
  2. 1/1 Tried to fix git-svn's handling of filenames with embedded '@'.Seth Falcon, May 28, 2006
  3. Junio C HamanoMay 28, 2006
  4. Eric WongMay 29, 2006
  5. Eric WongMay 29, 2006
  6. Seth FalconMay 29, 2006
  7. git-svn: compat fixes for older svn and dashEric Wong, May 30, 2006
  8. git-svn: t0001: workaround a heredoc bug in old versions of dashEric Wong, May 30, 2006
  9. git-svn: remove assertion that broke with older versions of svnEric Wong, May 30, 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.