threads / bug / 19767

[BUG?] fail to svn clone debian's kernel repository

Subject: [BUG?] fail to svn clone debian's kernel repository

## tl;dr

7 messages between Jun 10, 2009 and Mar 4, 2010.

replies: 6people: 4as markdown or json

Uwe Kleine-König· Jun 10, 2009, 16:05 UTC · lore
Hello,
using git v1.6.3.1 from Debian I fail to successfully run
	git svn clone svn://svn.debian.org/kernel/dists/trunk/linux-2.6
It runs for some time and then ends in:
	...
	r4695 = f552d98386b301cbeaa3b5a20f9e9d5d3c9c4886 (git-svn)
		M	debian/arch/alpha/defines
	r4696 = 18c0a37de057d24955b66e8f49db0791f6018288 (git-svn)
	Found possible branch point: svn://svn.debian.org/kernel/dists/sid/linux-2.6 => svn://svn.debian.org/kernel/dists/trunk/linux-2.6, 4731
	Initializing parent: git-svn@4731
	W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 101, path '/dists/sid/linux-2.6'
	W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
	This may take a while on large repositories
	Found possible branch point: svn://svn.debian.org/kernel/dists/sid/kernel/linux-2.6 => svn://svn.debian.org/kernel/dists/sid/linux-2.6, 4094
	Initializing parent: git-svn@4094
	Found branch parent: (git-svn@4731) e71da640593b63647fb23f915acee03f02fbaa98
	Following parent with do_switch
	Invalid filesystem path syntax: Cannot replace a directory from within at /usr/lib/git-core/git-svn line 4388
Is someone wants to take a look, the repo is browsable at
	http://svn.debian.org/wsvn/kernel/dists/trunk/#_dists_trunk_

Best regards Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |
Uwe Kleine-König· Jun 10, 2009, 18:42 UTC · re: Uwe Kleine-König · lore

Re: [BUG?] fail to svn clone debian's kernel repository

Hello,
Show 20 quoted lines
> using git v1.6.3.1 from Debian I fail to successfully run
> 
> 	git svn clone svn://svn.debian.org/kernel/dists/trunk/linux-2.6
> 
> It runs for some time and then ends in:
> 
> 	...
> 	r4695 = f552d98386b301cbeaa3b5a20f9e9d5d3c9c4886 (git-svn)
> 		M	debian/arch/alpha/defines
> 	r4696 = 18c0a37de057d24955b66e8f49db0791f6018288 (git-svn)
> 	Found possible branch point: svn://svn.debian.org/kernel/dists/sid/linux-2.6 => svn://svn.debian.org/kernel/dists/trunk/linux-2.6, 4731
> 	Initializing parent: git-svn@4731
> 	W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 101, path '/dists/sid/linux-2.6'
> 	W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
> 	This may take a while on large repositories
> 	Found possible branch point: svn://svn.debian.org/kernel/dists/sid/kernel/linux-2.6 => svn://svn.debian.org/kernel/dists/sid/linux-2.6, 4094
> 	Initializing parent: git-svn@4094
> 	Found branch parent: (git-svn@4731) e71da640593b63647fb23f915acee03f02fbaa98
> 	Following parent with do_switch
> 	Invalid filesystem path syntax: Cannot replace a directory from within at /usr/lib/git-core/git-svn line 4388

I debugged this a bit by adding a print just before line 4388. There we have:

	rev_a=4090
	rev_b=4095
	path=""
	full_url=svn://svn.debian.org/kernel/dists/sid/kernel/linux-2.6
	old_url=svn://svn.debian.org/kernel/dists/sid/kernel/linux-2.6

Mmh, these are really heavy commits it seems. The commitlog suggests that trunk was moved there, and websvn dies with ENOMEM when trying to show the diff.

I will try to start cloning at a later revision.

Best regards Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |
Sebastian Pipping· Mar 1, 2010, 02:08 UTC · re: Uwe Kleine-König · lore

Re: [BUG?] fail to svn clone debian's kernel repository

On 06/10/09 18:05, Uwe Kleine-König wrote:
Show 22 quoted lines
> Hello,
> 
> using git v1.6.3.1 from Debian I fail to successfully run
> 
> 	git svn clone svn://svn.debian.org/kernel/dists/trunk/linux-2.6
> 
> It runs for some time and then ends in:
> 
> 	...
> 	r4695 = f552d98386b301cbeaa3b5a20f9e9d5d3c9c4886 (git-svn)
> 		M	debian/arch/alpha/defines
> 	r4696 = 18c0a37de057d24955b66e8f49db0791f6018288 (git-svn)
> 	Found possible branch point: svn://svn.debian.org/kernel/dists/sid/linux-2.6 => svn://svn.debian.org/kernel/dists/trunk/linux-2.6, 4731
> 	Initializing parent: git-svn@4731
> 	W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 101, path '/dists/sid/linux-2.6'
> 	W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
> 	This may take a while on large repositories
> 	Found possible branch point: svn://svn.debian.org/kernel/dists/sid/kernel/linux-2.6 => svn://svn.debian.org/kernel/dists/sid/linux-2.6, 4094
> 	Initializing parent: git-svn@4094
> 	Found branch parent: (git-svn@4731) e71da640593b63647fb23f915acee03f02fbaa98
> 	Following parent with do_switch
> 	Invalid filesystem path syntax: Cannot replace a directory from within at /usr/lib/git-core/git-svn line 4388

I have run into a similar problem, both with Git 1.7.0 as well as with Git via Git.

Has anybody been able to work around this? Is anybody working on a fix?

Thanks,
Sebastian
Nicolas Sebrecht· Mar 2, 2010, 19:54 UTC · re: Sebastian Pipping · lore

[BUG?] Re: fail to svn clone debian's kernel repository

The 01/03/10, Sebastian Pipping wrote:
Show 13 quoted lines
> On 06/10/09 18:05, Uwe Kleine-König wrote:
> > Hello,
> > 
> > using git v1.6.3.1 from Debian I fail to successfully run
> > 
> > 	git svn clone svn://svn.debian.org/kernel/dists/trunk/linux-2.6
> > 
> > It runs for some time and then ends in:
> > 
> > 	...
> > 	r4695 = f552d98386b301cbeaa3b5a20f9e9d5d3c9c4886 (git-svn)
> > 		M	debian/arch/alpha/defines
> > 	r4696 = 18c0a37de057d24955b66e8f49db0791f6018288 (git-svn)
<...>
Show 7 quoted lines
> > 	Invalid filesystem path syntax: Cannot replace a directory from within at /usr/lib/git-core/git-svn line 4388
> 
> I have run into a similar problem, both with Git 1.7.0 as well as with
> Git via Git.
> 
> Has anybody been able to work around this?
> Is anybody working on a fix?

I've stopped cloning at r10252 with current next version. I didn't notice any problem.

Does the tests pass for you ?
  $ cd t
  $ make
-- 
Nicolas Sebrecht
Sebastian Pipping· Mar 3, 2010, 01:20 UTC · re: Nicolas Sebrecht · lore

Re: [BUG?] Re: fail to svn clone debian's kernel repository

On 03/02/10 20:54, Nicolas Sebrecht wrote:
> I've stopped cloning at r10252 with current next version. I didn't
> notice any problem.
I've been working with another repository.
My case is reproducable as following:
=======================================================
ABS_SVN_SOURCE="$PWD/portage-anon-svn-repo-dump/"
rsync -r rsync://anonvcs.gentoo.org/vcs-public-svnroot/portage/ \
  "${ABS_SVN_SOURCE}"
mkdir portage-git
cd portage-git
git svn init file://"${ABS_SVN_SOURCE}" \
  --trunk=trunk --tags=NOTAGS --branches=NOBRANCHES
git svn fetch -r1:1890
git config --remove-section 'svn-remote.svn'
git svn init file://"${ABS_SVN_SOURCE}" \
  --trunk=main/trunk --tags=main/tags --branches=main/branches
git svn fetch -r1891:HEAD
=======================================================

The last command the fails with: ======================================================= Found possible branch point: file:///home/sping/__playground/portage-git-playground/portage-anon-svn-repo-dump/main/trunk => file:///home/sping/__playground/portage-git-playground/portage-anon-svn-repo-dump/main/branches/savior, 1890 Found branch parent: (refs/remotes/savior) 3d100e8bd4e84f2779af6217cf60ebd168647733 Following parent with do_switch Invalid filesystem path syntax: Cannot replace a directory from within at /usr/libexec/git-core/git-svn line 5089 =======================================================

# git --version git version 1.7.0.1.61.gdc05d.dirty

> Does the tests pass for you ?
> 
>   $ cd t
>   $ make
master
  fixed   1
  success 5657
  failed  0
  broken  16
  total   5674
next
  fixed   1
  success 5732
  failed  0
  broken  16
  total   5758
# git branch -v
  branch-master dc05d73 Merge branch 'maint'
* master        dc05d73 Merge branch 'maint'
  next          6604fd0 Merge branch 'jn/makedepend' into next
Sebastian
Thomas Rast· Mar 3, 2010, 14:33 UTC · re: Sebastian Pipping · lore

Re: [BUG?] Re: fail to svn clone debian's kernel repository

On Wednesday 03 March 2010 02:20:00 Sebastian Pipping wrote:
Show 7 quoted lines
> git svn init file://"${ABS_SVN_SOURCE}" \
>   --trunk=trunk --tags=NOTAGS --branches=NOBRANCHES
> git svn fetch -r1:1890
> git config --remove-section 'svn-remote.svn'
> git svn init file://"${ABS_SVN_SOURCE}" \
>   --trunk=main/trunk --tags=main/tags --branches=main/branches
> git svn fetch -r1891:HEAD
[...]
> Invalid filesystem path syntax: Cannot replace a directory from within
> at /usr/libexec/git-core/git-svn line 5089

While arguably[*] a bug, you can work around it by simply not removing the previous trunk from git-svn's 'fetch' lines. I.e., the following config works for me after r1890:

[svn-remote "svn"]
	url = file:///.../portage-anon-svn-repo-dump
	fetch = main/trunk:refs/remotes/trunk2
	branches = main/branches/*:refs/remotes/branches/*
	tags = main/tags/*:refs/remotes/tags/*
	fetch = trunk:refs/remotes/trunk

You can later use update-ref (or even just mv) to rename trunk2 to trunk.

You may also want to place the cutoff in the above commands at 1889/1890 instead, since r1890 is the one that does the move. Combining this fix with the above config results in correct "continuous" history of trunk, whereas merely using the config above results in a disconnect at the move.

[*] SVN also fails if you check out trunk@1889 and attempt to 'svn update' it
-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Sebastian Pipping· Mar 4, 2010, 02:03 UTC · re: Thomas Rast · lore

Re: [BUG?] Re: fail to svn clone debian's kernel repository

On 03/03/10 15:33, Thomas Rast wrote:
> Combining this fix with the above config results in correct
> "continuous" history of trunk, whereas merely using the config above
> results in a disconnect at the move.
Thanks for your time to look into that!
After applying your ideas (which seem to work well) I end up with:
==================================================================
git svn init file://"${ABS_SVN_SOURCE}"
git config svn-remote.svn.fetch 'trunk:refs/remotes/trunk@1889'
git svn fetch -r1:1889
git svn init file://"${ABS_SVN_SOURCE}" \
  --trunk=main/trunk
git config svn-remote.svn.tags 'main/tags/*:refs/tags/*'
git config svn-remote.svn.branches 'main/branches/*:refs/heads/*'
git svn fetch -r1890:HEAD
==================================================================
.git/config holds:
==================================================================
[..]
[svn-remote "svn"]
        url = file:///[..]/portage-anon-svn-repo-dump
        fetch = trunk:refs/remotes/trunk@1889
        fetch = main/trunk:refs/remotes/trunk
        tags = main/tags/*:refs/tags/*
        branches = main/branches/*:refs/heads/*
==================================================================
Thought I'd paste that if anybody else is interested.
Sebastian

← back to recent threads