[Kde-scm-interest] New message: Re: svn2git for Boost

Dave Abrahams dave at boostpro.com
Thu Jan 3 16:50:00 UTC 2013


Thanks, I think I'm starting to get it...

on Thu Jan 03 2013, Thiago Macieira <thiago-AT-kde.org> wrote:

> On quinta-feira, 3 de janeiro de 2013 10.28.58, Dave Abrahams wrote:
>> > The way that svn2git works is that it looks at the list of changed files
>> > from  SVN. In the svn cp that created the 3.5 branch like above, the
>> > repository root is not listed, so it doesn't match any rules. You add a
>> > "recurse" rule to make the tool list the repository at the specified
>> > revision and then apply the rule set again.
>> 
>> Sorry, I'm still not seeing it.  Could you:
>> 
>>  - define what you mean by "the root of your repositories"
>>  - give the path to what you consider to be the root for KDE
>>  - give the exact svn cp command that corresponds to this KDE example
>>  - show a fragment of ruleset that corresponds to this KDE example
>> 
>> ? I think if I had all that, I'd understand.
>
> The repository now called kdelibs.git was imported from:
>
> 	/trunk/KDE/kdelibs			-> master
> 	/branches/KDE/(\d.\d)/kdelibs	-> KDE/\1
>
> The branching done for KDE 4.0, for example, was done:
>
> 	svn cp $SVNROOT/trunk/KDE $SVNROOT/branches/KDE/4.0
>
> You can see it in the log:
>
> ------------------------------------------------------------------------
> r757128 | mueller | 2008-01-04 07:09:11 -0200 (Fri, 04 Jan 2008) | 2 lines
> Changed paths:
>    A /branches/KDE/4.0 (from /trunk/KDE:757127)
>
> Creating KDE 4.0 branch
>
> ------------------------------------------------------------------------
>
> As you can see, there's no file path changing that would match 
> /branches/KDE/(\d.\d)/kdelibs.

Surely when there are files in $SVNROOT/trunk/KDE/kdelibs and you do 

  svn cp $SVNROOT/trunk/KDE $SVNROOT/branches/KDE/4.0

it changes files whose path *begins* with a match to
/branches/KDE/(\d.\d)/kdelibs/.  Is it really just about the fact that
the whole file paths are longer than that, so they don't match the
regexp?

Also, am I right to suppose the "recurse" action used to remedy this is:

--8<---------------cut here---------------start------------->8---
match /(branches|tags)/KDE/[^/]+/$
  action recurse
end match
--8<---------------cut here---------------end--------------->8---

in converted/KDE/kdelibs-rules from the KDE ruleset?

-- 
Dave Abrahams
BoostPro Computing                  Software Development        Training
http://www.boostpro.com             Clang/LLVM/EDG Compilers  C++  Boost


More information about the Kde-scm-interest mailing list