Boost logo

Boost :

Subject: Re: [boost] [modular-boost] Development procedures
From: Daniel James (dnljms_at_[hidden])
Date: 2014-02-03 16:50:14


On 3 February 2014 01:26, Gennadiy Rozental <rogeeff_at_[hidden]> wrote:
> Daniel James <dnljms <at> gmail.com> writes:
>
>> > 5. After I switched to development branch headers directory still
>> > "points to" master branch files. Actually I am not sure what it
>> > points to now since master files are nowhere anymore. How should
>> > I switch headers?
>>
>> It should happen automatically when you build, but won't if the
>> inclusion of headers is obscured by macros (i.e. #include MACRO). You
>
> I do not follow this. Are you saying something is going to parse the code
> and setup the links? During which build?

Boost build searches for includes when compiling C++ files in order to
check if any have been updated, I believe it checks if the original
file has been updated when doing that in order to update the link.

[snipped: question being discussed by others]

>> > 6. What the corresponding action with git, which does what svn up
>> > from root of tree did before? What I am after is comamnd(s) which
>> > updates other libs, but keep my lib as is (maybe merge changes
>> > from other developers). If "git submodule update" is one of these
>> > commands, why does it takes forever on fresh just cloned boost tree?
>>
>> You can configure git to leave your module alone when updating, see
>> the 'gitmodules' man page. Something like:
>>
>> git config submodule.test.update none
>
> Where can I read about this?

The gitmodules man page.

https://www.kernel.org/pub/software/scm/git/docs/gitmodules.html

>> I haven't tested that, so it might be wrong. I'm finding it easy
>> enough to check out the branch I want every time.
>
> What if I have local changes, but want to update to HEAD on master branch of
> other libs? I think this is very common need and we should document steps
> one needs to take for this.

You could create a wiki page.

>> 'git submodule update' takes a long time as a fresh tree because it
>> has to clone over a 100 modules.
>
> I was running on freshly cloned tree. What else does it needs to clone?

All the libraries and tools. If you have a clone of every module and
it's still slow, then I have no idea. You haven't really explained
what you've done and it's not that slow for me.

>> > 7. How do I run the test which will check how my changes affect other
>> > libraries (their master branch at least). Should I just run the test
>> > from root in my local copy? How do I test against develop branch of
>> > other libs and develop branch of other libs against me?
>>
>> Let the automated testing do it for you? If I wanted to do this
>
> Do we have a test on demand?

No.

>> locally, I'd just use a separate clone of master and develop. I think
>> you can use 'git clone --recursive -b develop url' to get a develop
>> copy.
>
> Can we setup some kind of scripts to help developers with routine tasks like
> this?

Yes you can.


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