On 3 February 2014 01:26, Gennadiy Rozental
Daniel James
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.