Boost logo

Boost :

Subject: Re: [boost] Git: maintaining super-project
From: Bjørn Roald (bjorn_at_[hidden])
Date: 2013-12-04 14:23:24

On 12/04/2013 10:15 AM, Vladimir Prus wrote:
> On 04.12.2013 12:53, Bjørn Roald wrote:
>> On 12/04/2013 08:39 AM, Vladimir Prus wrote:
>>> 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 '
>>>>> fb4f36f3eecbef1e3b4ace5b263e01d56e42d5c7'
>>>>> 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
>>>> correctly:
>>>> git clone --recursive -b develop
>>> 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
>>> ?
>> I am probably confused as what you are trying to do,but I would simply
>> do.
>> git checkout master
>> git submodule update
>> ... everything is master (svn branches/release)
> Uhm, no. Everything is detached head corresponding to submodule
> references in superproject.
> Which means, again, that whatever I put to 'master' of my library is not
> ending up as part
> of regression tests, or next release, unless I also do additional dance,
> which is inconvenient
> for me, and extra work for those with write access to 'boost' superproject.

OK I see now what you try to do -- sorry for the noise. I skipped
reading too much of the text between "the superproject has references to
specific revisions of each component. Or am I mistaken" and the command
you tried.


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