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

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."

> 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:

Boost list run by bdawes at, gregod at, cpdaniel at, john at