|
From: Thomas Rast <trast <at> student.ethz.ch>
Subject: Re: [BUG?] Re: fail to svn clone debian's kernel repository Newsgroups: gmane.comp.version-control.git Date: 2010-03-03 14:33:12 GMT (1 year, 49 weeks, 1 day, 3 hours and 46 minutes ago)
On Wednesday 03 March 2010 02:20:00 Sebastian Pipping wrote:
> 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 <at> 1889 and attempt to 'svn update' it
--
Thomas Rast
trast@{inf,student}.ethz.ch
|
|