Branch names?

26 views
Skip to first unread message

Beman Dawes

unread,
Feb 10, 2013, 10:01:31 AM2/10/13
to Ryppl Developers List
In github.com/boostorg, the branch names are "master" and "release".

Weren't we going to follow the gitflow conventions of "master" for
releases, and "develop" for trunk?

--Beman

Dave Abrahams

unread,
Feb 10, 2013, 1:07:33 PM2/10/13
to rypp...@googlegroups.com
I'm going to let Daniel explain that one.

--
Dave Abrahams

Daniel Pfeifer

unread,
Feb 10, 2013, 2:31:31 PM2/10/13
to rypp...@googlegroups.com
2013/2/10 Dave Abrahams <da...@boostpro.com>:
>
> on Sun Feb 10 2013, Beman Dawes <bdawes-AT-acm.org> wrote:
>
>> In github.com/boostorg, the branch names are "master" and "release".
>>
>> Weren't we going to follow the gitflow conventions of "master" for
>> releases, and "develop" for trunk?

First of all: Yes, we want to follow the gitflow naming conventions.

Using gitflow, "develop" is the branch where the development happens.
This corresponds to our current svn "trunk". To prepare a release, a
temporary branch is created. This branch receives stabilization fixes
while development may continue on "develop". When the release is
ready, a tag is created. At the same time, all the stabilization fixes
are merged both back to "develop" and to a special branch called
"master". It follows that, at any point in time, "master" will be
production ready.

In Subversion, we have a branch called "release". However, this branch
does *not* contain the releases, it is where the releases are
*prepared*. The code there is usually not production ready. Calling
this branch "master" could have fatal consequences.

A mapping of the current branches in Subversion to the gitflow
convention is not possible.
But we can still get a gitflow history! To do that, we must map
"trunk" to "develop" and create a supplementary master branch from all
the tags.

Makes sense?

> I'm going to let Daniel explain that one.

Thanks Dave :)

Beman Dawes

unread,
Feb 10, 2013, 4:44:00 PM2/10/13
to rypp...@googlegroups.com
On Sun, Feb 10, 2013 at 2:31 PM, Daniel Pfeifer <purple...@gmail.com> wrote:
> 2013/2/10 Dave Abrahams <da...@boostpro.com>:
>>
>> on Sun Feb 10 2013, Beman Dawes <bdawes-AT-acm.org> wrote:
>>
>>> In github.com/boostorg, the branch names are "master" and "release".
>>>
>>> Weren't we going to follow the gitflow conventions of "master" for
>>> releases, and "develop" for trunk?
>
> First of all: Yes, we want to follow the gitflow naming conventions.
>
> Using gitflow, "develop" is the branch where the development happens.
> This corresponds to our current svn "trunk". To prepare a release, a
> temporary branch is created. This branch receives stabilization fixes
> while development may continue on "develop". When the release is
> ready, a tag is created. At the same time, all the stabilization fixes
> are merged both back to "develop" and to a special branch called
> "master". It follows that, at any point in time, "master" will be
> production ready.

Understood.

> In Subversion, we have a branch called "release". However, this branch
> does *not* contain the releases, it is where the releases are
> *prepared*. The code there is usually not production ready. Calling
> this branch "master" could have fatal consequences.

Ah! Makes sense.

>
> A mapping of the current branches in Subversion to the gitflow
> convention is not possible.
> But we can still get a gitflow history! To do that, we must map
> "trunk" to "develop" and create a supplementary master branch from all
> the tags.
>
> Makes sense?

Yes, definitely.

Recap: there should be three branches:

"trunk" -> "develop"
"branches/release" -> "release"
And a third branch, named "master" that is synthesized based on
the release tags.

Is that correct?

And is synthesizing "master" easy or is it likely to be difficult
and/or time consuming?

Thanks,

--Beman

Mathias Gaunard

unread,
Feb 10, 2013, 4:46:44 PM2/10/13
to rypp...@googlegroups.com
On 10/02/13 22:44, Beman Dawes wrote:

> Recap: there should be three branches:
>
> "trunk" -> "develop"
> "branches/release" -> "release"

IMHO that should be release_x_y with x_y being whatever release is being
prepared on that branch.

Dave Abrahams

unread,
Feb 10, 2013, 4:47:14 PM2/10/13
to rypp...@googlegroups.com

on Sun Feb 10 2013, Beman Dawes <bdawes-AT-acm.org> wrote:

> is synthesizing "master" easy or is it likely to be difficult
> and/or time consuming?

Should be reasonably easy.

--
Dave Abrahams

Beman Dawes

unread,
Feb 10, 2013, 4:56:34 PM2/10/13
to rypp...@googlegroups.com
That might be better, but is it essential? I very concerned about
overloading Daniel and Dave.

--Beman

Daniel Pfeifer

unread,
Feb 10, 2013, 5:57:24 PM2/10/13
to rypp...@googlegroups.com
2013/2/10 Beman Dawes <bda...@acm.org>:
> On Sun, Feb 10, 2013 at 4:46 PM, Mathias Gaunard <louf...@gmail.com> wrote:
>> On 10/02/13 22:44, Beman Dawes wrote:
>>
>>> Recap: there should be three branches:
>>>
>>> "trunk" -> "develop"
>>> "branches/release" -> "release"
>>
>>
>> IMHO that should be release_x_y with x_y being whatever release is being
>> prepared on that branch.

According to "gitflow", the release preparation branch is temporary,
so the name does not matter much.

> That might be better, but is it essential? I very concerned about
> overloading Daniel and Dave.

Hey, we want the result to be outstanding! :-)
Reply all
Reply to author
Forward
0 new messages