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

Re: [PATCH] git svn: fix fetch where glob is on the top-level URL

From
EWEric Wong <normalperson@yhbt.net>
Date
Oct 23, 2009, 06:50 UTC
Message-ID
<20091023065056.GA25187@dcvr.yhbt.net>
In-Reply-To
<20091023060751.GA14477@dcvr.yhbt.net>
Eric Wong <normalperson@yhbt.net> wrote:
Show 7 quoted lines
> Eric Wong <normalperson@yhbt.net> wrote:
> > From 3abaf9fdf216fd0307bb9e9f03772bd80a64177c Mon Sep 17 00:00:00 2001
> > From: Adam Brewster <adambrewster@gmail.com>
> > Date: Thu, 22 Oct 2009 21:26:32 -0700
> > Subject: [PATCH] git svn: fix fetch where glob is on the top-level URL
> 
> Actually, no, something is broken here it seems...  Ugh, falling asleep :x

Oops, I was running the tests from the wrong machine that didn't have the patch on that one.

As noted in my previous email, the leading slashes cause SVN::Ra::get_log to fail with an assertion if the path passed to it has a leading slash but is not a standalone slash.

Here's my original patch which seems to work fine (but doesn't allow the more flexible, bare "*" in "branches = *:refs/remotes/*" Adam's one did.

>From 42079a567bef745996b6272ad546d682dfcf57d6 Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Thu, 22 Oct 2009 23:39:04 -0700
Subject: [PATCH] git svn: fix fetch where glob is on the top-level URL

In cases where the top-level URL we're tracking is the path we glob against, we can once again track odd repositories that keep branches/tags at the top level. This regression was introduced in commit 6f5748e14cc5bb0a836b649fb8e2d6a5eb166f1d.

Thanks to Daniel Cordero for the original bug report and bisection.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 git-svn.perl |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index eb4b75a..56af221 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1765,7 +1765,7 @@ sub read_all_remotes {
 	my $use_svm_props = eval { command_oneline(qw/config --bool
 	    svn.useSvmProps/) };
 	$use_svm_props = $use_svm_props eq 'true' if $use_svm_props;
-	my $svn_refspec = qr{\s*/?(.*?)\s*:\s*(.+?)\s*};
+	my $svn_refspec = qr{\s*(.*?)\s*:\s*(.+?)\s*};
 	foreach (grep { s/^svn-remote\.// } command(qw/config -l/)) {
 		if (m!^(.+)\.fetch=$svn_refspec$!) {
 			my ($remote, $local_ref, $remote_ref) = ($1, $2, $3);
@@ -1979,7 +1979,7 @@ sub find_ref {
 	my ($ref_id) = @_;
 	foreach (command(qw/config -l/)) {
 		next unless m!^svn-remote\.(.+)\.fetch=
-		              \s*/?(.*?)\s*:\s*(.+?)\s*$!x;
+		              \s*(.*?)\s*:\s*(.+?)\s*$!x;
 		my ($repo_id, $path, $ref) = ($1, $2, $3);
 		if ($ref eq $ref_id) {
 			$path = '' if ($path =~ m#^\./?#);
-- 
Eric Wong
Previous: Eric WongNext: Eric Wong
Message 5 of 7 in “[bug][bisected] git-svn with root branches”
  1. Daniel CorderoOct 21, 2009
  2. Eric WongOct 22, 2009
  3. git svn: fix fetch where glob is on the top-level URLEric Wong, Oct 23, 2009
  4. Eric WongOct 23, 2009
  5. Eric WongOct 23, 2009
  6. Eric WongOct 22, 2009
  7. Eric WongOct 23, 2009

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.