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

--
Bjørn

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