Boost logo

Boost :

Subject: Re: [boost] Boost contributing tutorial (GitHub)
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2014-05-21 10:39:02


Hi,

Sohail Somani wrote:
> On 21/05/2014 9:17 AM, Adam Wulkiewicz wrote:
>> Hi,
>>
>> I prepared a tutorial about the contributing at GitHub/Boost describing
>> how to create a Fork of a library, use it inside modular Boost and
>> create a pull request. The tutorial presents examples for Boost.Geometry
>> but could be extended to the other libraries. It has a form of a README
>> of this repository:
>>
>> https://github.com/awulkiew/temp-contributing
>>
>> Would you be so kind and see if everything is ok wth it?
>> In praticular I'd like to hear if this model is good for modular Boost
>> in general?
>
> This is a good start from my perspective, thanks for doing it.
>
> My selfish question is: how would you recommend maintaining more than
> one fork of a boost library? Just repeat the process? What about long
> term for forks that are never merged for whatever reason?

In short, the answer for the first 2 questions is: yes. Basically in Git
you can work with as many remotes and branches as you please.
Your local branches may be tracking many remote ones, with different
names, etc.
Just use the "full" form of push/pull

     git push remote_name branch_name
     git pull remote_name branch_name

or after creating some local branch push it with the -u switch to setup
the tracking of the remote.

As for the last question, I'm sure it depends on a specific case.
But, lets say that you'd like to work in your branch for a long time and
periodically update it with the work from the origin repository.
In the scenario described in the tutorial you could get the latest
version of develop from the origin

     git checkout develop
     git pull

(the above is the short version of pull which should work if the develop
tracked the origin/develop which should be the default case)
and then just merge it in your branch

     git checkout feature/example
     git merge develop

or cherry-pick single commits or whatever.

Or you could just merge the origin/develop directly with 'git pull',
which is a shorthand for 'fetch' followed by 'merge'
(http://git-scm.com/docs/git-pull).
It's more Git-related than Boost-related and probably more depends on
what do you prefer.
I wanted to keep the tutorial simple.

Regards,
Adam


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