Re: [BUG?] Re: fail to svn clone debian's kernel repository
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Mar 3, 2010, 14:33 UTC
- Message-ID
- <201003031533.13056.trast@student.ethz.ch>
- In-Reply-To
- <4B8DB940.9020609@hartwork.org>
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