Subject: Re: [boost] Git: maintaining super-project
From: Vladimir Prus (ghost_at_[hidden])
Date: 2013-12-04 02:39:54
On 04.12.2013 11:27, Cox, Michael wrote:
> On Tue, Dec 3, 2013 at 11:35 PM, Vladimir Prus <ghost_at_[hidden]> wrote:
>> On 04.12.2013 10:28, Vladimir Prus wrote:
>> As far as I understand, you don't have to create pull requests for
>>>> master and develop branches. The actual revision is pulled from
>>>> submodules automatically as you check out the monolithic boost (the
>>>> boostorg superproject). The pull requests might be needed during the
>>>> release cycle, if you want specific last minute changes pulled by the
>>>> release managers so that they get into release.
>>> Well, the superproject has references to specific revisions of each
>>> component. Or am I mistaken
>>> on this part?
>> Looks like I'm not. I did this:
>> ghost_at_solid:~/Sources/boost-modular$ git checkout master
>> M libs/program_options
>> Switched to branch 'master'
>> ghost_at_solid:~/Sources/boost-modular$ git submodule update --init
>> Submodule path 'libs/program_options': checked out '
>> This revision being checked out is what the current superproject repo
>> specifies, which is 2 commits
>> behind master of boostorg/program_options library.
>> So, yes, without pull request, or manual updates, or some scripting,
>> checking out the superproject
>> will not get either 'master' or 'develop' state of all libraries.
> The following should get you what your asking for, if I understand you
> git clone --recursive -b develop https://github.com/boostorg/boost
Let's assume that I've already did this, and others checked in more changes,
in which case...
> git submodule foreach git checkout develop
... this command won't be sufficient, as you'd something like:
git submodule foreach git fetch
> Now I'm not sure that's what you need. You will get the latest changes
> from each of the repositories, but what are the entrance criteria for
> adding something to develop or master? Does it have to compile? Do all
> the changes have unit-tests that pass?
> I would assume the criteria for master would be more strict that develop,
> e.g. all changes on develop for a repository have to build with the latest
> changes on all the other repositories while changes on master have to also
> pass all their unit-tests.
That can be debated. I would say that both master and develop branches should
pass unit tests for the person who committed the change.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk