Boost logo

Boost :

Subject: [boost] [Git] Boost Filesystem now has public GitHub repository
From: Beman Dawes (bdawes_at_[hidden])
Date: 2011-02-13 11:15:55

I'm now doing routine maintenance and development of the Boost
Filesystem library via a public Git repository hosted on GitHub.


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

So that the development environment will be identical to the current
SVN trunk, I setup my local filesystem trunk repository using a little

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

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.


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