Boost logo

Boost :

Subject: Re: [boost] [modular-boost] Development procedures
From: Gennadiy Rozental (rogeeff_at_[hidden])
Date: 2014-02-02 20:26:40


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?

> can run "b2 headers" again. If we were using soft links we wouldn't
> have this problem, I thought there was consensus to do that, but no
> one seems to be doing it.

There is no soft links on Windows. Actually I think if would use hardlinks
to directories the issue would be resolved automatically.
 
> > 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?
 
> 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.
 
> '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?
 
> > 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? In any case I might want to do a local test

> 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? I probably do not want to keep 2 trees around, but rather switch back
and forth when necessary.

Gennadiy


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