Re: Re: a git svn bug
Eric Wong
See Also
Prev Ref 1
2019-02-11 08:57:19 UTC

> 肖建晶 <> wrote:
> > hi,
> >    git developers. I found a bug when i want to convert webkit to git
> >    there are some branch named safari... in webkit svn repo.
> >    when i want to convert them to branch in git. a problem happen.
> > 
> >    if you want to reproduce the problem, just follow the guide below.
> >    1. git svn clone -s
> Do you mean ?
You are right. I use this url to fetch svn repo
> >    2. when it runs to about r13800, stop it and rerun the above command
> So running "clone" again?  Normally, I'd run "git svn fetch" if
> I stopped and want to resume (or my Internet connection drops,
> which happens a lot).
In fact, git svn clone again and git svn fetch will do nearly the same thing.
So we could use these two commands either. I just get used to git svn clone.

> >    3. the git client will check the refs it already found, and
> >    if it met a ~ in the branch name. it will failed to
> >    proceed. error is git thinks it an invalid ref name
> >j
> >    i digged into it, and found a solution in
> >    git/perl/git/ I mod this file and bypass the
> >    problem.
> Can you show us what you did to perl/Git/
> the "refname" sub in perl/Git/ already escapes "~",
> it seems.

  ***  i used this sed to fix it:
       sed -i "/refname = /a\\\t\t\$refname =~ s/~/%7E/g;" perl/Git/
       sed -i "/refname = /a\\\t\t\$refname =~ s/ /%20/g;" perl/Git/
       You can use the regex above to find the exact place (about line 93 )where the issue happens. I think after the sentence refname = ....,  variable refname should be right, but it seems not. Please examine if after that sentence, refname contains some symbol like ~ or " "(space). If it does, the command after that may not deal with it correctly. Please be kind to check it again.

> >    plean be kind to fix the problem and remind me the fix
> >    commit, and i will update to a new version.
> We'll try, but I think we need more information.  Thanks.

unfortunately, after several days of work. The whole webkit is not converted into git repo, because I met another problem. It said index mismatch. And I was not able to solve it anymore. I plan to convert it later again. It's awful.

If you have any question, feel free to inform me. I always eager to help in my spare time.