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

Re: Bad URL passed to RA lay

From
Mm.skoric@web.de <m.skoric@web.de>
Date
Oct 14, 2009, 14:02 UTC
Message-ID
<1955196477@web.de>
Show 6 quoted lines
> -----Ursprüngliche Nachricht-----
> Von: "Eric Wong" <normalperson@yhbt.net>
> Gesendet: 14.10.09 09:07:31
> An: m.skoric@web.de
> CC: git@vger.kernel.org
> Betreff: Re: Bad URL passed to RA lay
Show 20 quoted lines
> m.skoric@web.de wrote:
> > Hi List,
> > 
> > i have a problem with git-svn clone / fetch. I get following error
> > while doing one of previous command -> "Bad URL passed to RA lay" This
> > happens because a branch doesn't exists in svn anymore and git wants
> > to retrieve data from it. Here is the complete error message
> > 
> > Initializing parent: Abo-Uebernahme (Bug #994)@341
> > Found possible branch point: "quoted"..trunk => "quoted"...Abo-Uebernahme (Bug #994), 203
> > Found branch parent: (Abo-Uebernahme (Bug #994)@341) bb831869748c98bf97d105c5894ae65331c95c08
> > Bad URL passed to RA layer: Malformed URL for repository at /usr/bin/git-svn line 4311
> > 
> > git version 1.6.3.3
> > 
> > Aynone else has this Problem?
> 
> Hi,
> 
> Unlikely, not many people use URIs as weird as yours :)
Ye, i know ;) This is really old stuff and we already changed them to more sane ones ;)
Show 7 quoted lines
> The existing test case (t9118) we have was also inspired by you,
> on the same branch, even.
> 
> > Can anyone help me?
> 
> What exactly is the "quoted" you refer to?  That's not an actual branch
> name, is it?
ah brainfart.
This info is essential!
quoted = branches/dirk/Abo-Uebernahme... => https...branches/Abo-Uebernahme...
> Can you try it with v1.6.5?  You might need to edit your $GIT_CONFIG,
> but commit 5268f9edc3c86b07a64fcc2679e5ffe39be28d97 was the last
> fix for URI-escaping problems:

This is not a URI Escaping Problem. As i allready mentioned: I think its a svn problem and git can't handle that.

svn History:

r203 svn copy /trunk/ /branches/dirk/Abo.. r204 svn mv /branches/dirk/Abo.. /branches/Abo.. r341 svn mv /branches/Abo.. /branches/0944-Abo..

r203 branch was created from trunk. r204 branch was moved from /branches/dirk/ to /branches r341 branch was renamed to 0944-Abo

This is what git does.
>Initializing parent: refs/remote/Abo-Uebernahme (Bug #994)@341
>Found possible branch point: branches/Abo => branches/dirk/Abo-Uebernahme (Bug #994), 203
>Found branch parent: (Abo-Uebernahme (Bug #994)@341) bb831869748c98bf97d105c5894ae65331c95c08
>Bad URL passed to RA layer: Malformed URL for repository at /usr/bin/git-svn line 4311

I think the problem is that git doesn't like this kinda action. branch -> do something with branch -> rename branch.

After some debugging i found something in git-svn
sub find_parent_branch
{
...
	} elseif ($self->ra->trees_match($new_url, $r0, $self->full_url, $rev))
	....
}

the trees_match sub doesn't do any error handling. if $self->full_url doesn't exits anymore this will fail, right?

I don't know if the followong piece of code in find_parent_branch works like you expect it!?

Show 8 quoted lines
>unless (defined $paths) {
>	my $err_handler = $SVN::Error::handler;
>        $SVN::Error::handler = \&Git::SVN::Ra::skip_unknown_revs;
>        $self->ra->get_log([$self->{path}], $rev, $rev, 0, 1, 1,
>                                 sub { $paths = $_[0] });
>        $SVN::Error::handler = $err_handler;
>}
>return undef unless defined $paths;

Maybe its just a problem with renaming branches or something!? My Perl knowledge is really limited, so its up to you my friend ;)

Majk

______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de

Message 1 of 1 in “Re: Bad URL passed to RA lay”
  1. m.skoric@web.deOct 14, 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.