Boost logo

Boost :

Subject: Re: [boost] [Git] Boost Filesystem now has public GitHub repository
From: Daniel Larimer (dlarimer_at_[hidden])
Date: 2011-02-13 11:41:21


On Feb 13, 2011, at 11:15 AM, Beman Dawes wrote:

> I'm now doing routine maintenance and development of the Boost
> Filesystem library via a public Git repository hosted on GitHub.
>
> See https://github.com/Beman/filesystem

Excellent! I will create a Boost.Defrag module for your git repository.

>> Daniel Pfeifer: "On the boost-dev list, Dave suggested to "call this something else, that
>> includes a reference to the word 'modularized' somehow, just to
>> distinguish it from the several unmodularized boost-cmakes".
>>
>> The term 'module' however, already has a meaning in the CMake context
>> (as in 'Standard CMake Modules' in the CMake documentation). So I
>> thought we might label the Boost components/modules as 'fragments'.
>>
>> The Boost.Defrag project is used to put these fragments together, hence
>> the name."
>>
>> https://github.com/purpleKarrot/Boost.Defrag
        

>
> The point of this public repo is to gain actual use experience with
> Git and with a modularized Boost library. Modularization followed the
> pattern ryppl is proposing - the top level directory is the same as
> the current SVN list/filesystem, with the addition an "include"
> directory with a "boost" sub-directory containing the current SVN
> boost/filesystem stuff. None of the existing filesystem content was
> changed.
>
> So that the development environment will be identical to the current
> SVN trunk, I setup my local filesystem trunk repository using a little
> script:
>
> svn export %BOOST_TRUNK% fs-trunk
> cd fs-trunk/libs
> rm -r filesystem
> git clone git_at_[hidden]:Beman/filesystem.git filesystem
> cd ..\boost
> del filesystem.hpp
> rm -r filesystem
> mklink filesystem.hpp ..\libs\filesystem\include\boost\filesystem.hpp
> mklink /d filesystem ..\libs\filesystem\include\boost\filesystem
>
> The effect is to export the SVN trunk, then replace libs/filesystem
> with a git clone of the public repository. boost/filesystem is
> replaced with a symlink to libs\filesystem\include\boost\filesystem
>

This is almost exactly what I was proposing earlier, with the exception that your
script would be handled by bjam.

> Note that no changes whatsoever needed to be made to either my Visual
> Studio or Boost.Build setups, Jamfiles, or anything else. Everything
> just works.
>
> The setup is a pleasure to use. I commit changes locally whenever it
> makes sense, without any need to maintain stability. Then when work
> reaches a stable state, I push it out to GitHub.
>
> When it comes time to apply the changes to the Boost repo, I'm
> applying the diffs locally and then committing. If Boost were using
> Git, I'd send a "pull" request.
>
> So far this whole experiment has been very reassuring. No problems and
> everything worked instantly. There was almost no learning curve, since
> I'd already been using Git and GitHub for awhile.
>

I am new to git (this week) and must say that I concur with your experience.

> --Beman
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk