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.
>> 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?
>> 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
> Can we setup some kind of scripts to help developers with routine tasks like
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