Re: modularized boost?

44 views
Skip to first unread message

Dave Abrahams

unread,
Feb 5, 2013, 9:53:17 PM2/5/13
to Eric Niebler, Boost Steering Comittee, Ryppl Developers

on Tue Feb 05 2013, Dave Abrahams <dave-AT-boostpro.com> wrote:

> on Tue Feb 05 2013, Eric Niebler <eniebler-AT-boost.org> wrote:
>
>> Now that 1.53 is done, this is a good time to move to modularized boost.
>> What's the current status of the migration?
>
> The clear message we got from the community was that they want
> "modularized history," approximate though it may be. We have been
> working on a system to produce that history based on the tool used by
> KDE for the same purpose
> (http://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git).
>
> The process is currently being run by a Jenkins installation at
> http://jenkins.boost.org/job/boost-svn2git/
> As you can see from
> http://jenkins.boost.org/job/boost-svn2git/23/console, there's a crash
> in the tool somewhere. Daniel has been working on debugging it.

OK, update: I fixed those problems in the tool. You can see the
modularized history [here](https://bitbucket.org/boostorg/)

We're using bitbucket for this, at least temporarily, because it's able
to show multiple branches/merges at once (see, e.g.,
[wave](https://bitbucket.org/boostorg/wave/commits/all), which we think
may be useful for people who want to vet the conversion.

At the moment, the entire release branch and trunk (except
[r39329](http://ci.boost.org/websvn/listing.php?repname=repos+1&rev=38329),
which we'll fix ASAP) are represented in those repositories.

We have the
[mapping](https://github.com/ryppl/subconvert/blob/master/doc/branches.txt)
needed to direct the other branches and tags where they belong, and I
expect Daniel will incorporate that information into the svn2git
[rulesets](https://github.com/ryppl/boost-svn2git/tree/master/rulesets)
we're using in the next few days.

All changes that are not otherwise-accounted-for are going into [this
fallback repository](https://bitbucket.org/boostorg/svn2git-fallback),
the idea being that we'll know we have a complete modularized history
when that repository is empty. At the moment, most of our branches are
represented there, which is not unexpected since Daniel has not yet
incorporated the aforementioned mapping into the rulesets.

Once that is done, we should have a vetting period during which Boosters
can inspect the history of their projects and make sure they are happy
with the results, submitting pull requests on the rulesets if they wish
to make changes. If people want it, we can post instructions for running
the modularization on their local machines. I don't want to do that
unless there's demand, though.

I have a project that might help us automatically create some of the
merges in Git that either aren't represented in SVN due to sub-optimal
behavior on the part of committers (see
[python](https://bitbucket.org/boostorg/python/commits/all) for an
example), or aren't making it across in the translation due to the
limited capabilities of the svn2git tool. However, I have doubts about
the cost/benefit ratio of attempting such a reconstructions. Manually
adding a [parent
map](http://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git#Post-processing)
to represent the most recent merges between trunk and release in each
repository might work just as well.

--
Dave Abrahams

Dave Abrahams

unread,
Feb 6, 2013, 10:59:09 AM2/6/13
to Eric Niebler, Boost Steering Comittee, Ryppl Developers

on Wed Feb 06 2013, Eric Niebler <eniebler-AT-boost.org> wrote:

> On 13-02-05 06:53 PM, Dave Abrahams wrote:
>> OK, update: I fixed those problems in the tool. You can see the
>> modularized history [here](https://bitbucket.org/boostorg/)
>
> <snip very exciting status update>
>
> Hear, hear! This looks beautiful. THANK YOU.
>
> Besides having the repos+history ready to go, what else needs to be done?

Well, there's
https://svn.boost.org/trac/boost/wiki/MoveToModularizedGit, which
someone should probably inject into
https://github.com/ryppl/boost-svn2git/issues

I have also written up this page:
https://github.com/ryppl/boost-svn2git/wiki
It might be a good idea to announce this to the Boost list for anyone
who wants to preview the work.

--
Dave Abrahams
Reply all
Reply to author
Forward
0 new messages