Skip to content
bjorng edited this page Sep 13, 2010 · 15 revisions

Wings3D

We will use this repository at Github as the development repository for the Wings3D.
There is another Git repository at Sourceforge that will only contain the ‘master’ branch
and tags for all releases.

Release naming

We have two releases series.

Correction releases: 1.0.x.y

The correction releases are based on 1.0 (which was released May 17, 2009). Further releases
will be named 1.0.x.y. They will only contain bug fixes (no new features).
The idea is that the last release in the 1.0.x.y series of releases should always
be the most stable release of Wings you can find.

Development releases: 1.1.x.y

Releases named 1.1.x.y will be development releases, where you will find the bleeding edge stuff. We will try to keep these releases as stable as possible, but since there is always a stable 1.0.x.y release to fall back on, we will probably be a little bit more daring than we had been in the past.

The next stable release: 1.2

The next stable release, at some point in the future, will be called 1.2.

Branches

We use the following branches (inspired by the Git project).

Development branches

The following branches are used for development.

The maint branch

The maint branch contains corrections for the latest stable release,
currently corrections for the 1.0> release.

The next branch

The next branch contains stuff that we will release in the next 1.1.x.y release.
Anything that is merged onto this branch should be good enough to be released
(as a development release) and it should build and run on Mac OS X, Linux, and Windows.

The next branch is stable enough to base development work against. At the time of stable
releases, though, I will probably rewind (reset) it to point to master branch.
I will try to send out a warning to all who has forked from this repository before resetting.

Topic branches: ai/topic

Topic branches are created for specific updates. The first part before the slash
(two-four characters) identifies the author (it usually but not always the
author’s initials). After the slash follows the topic description.

For instance, the branch bg/edge_array is my (Björn Gustavsson’s)
branch for using arrays instead of gb_trees for the edge table, and dgud/wxwidgets
is Dan Gudmundsson’s branch for migrating Wings to use WxWidgets
(instead of ESDL).

Topic branches may be rebased, so you should generally not base branches
on them. Topic branches will be deleted when they have been merged to the
master branch.

Normally only one person works on a topic branch, but if several people want to
work on a topic branch, the branch should have the same name in all repositories
(i.e. you should not change the author initials if you want to help someone with
the work on a branch).

Branch names should have different author initials if they are alternate ways to
correct a bug/implement a new feature. For instance, I created the branch
bg/aim_crash to fix a bug. Richard suggested a cleaner correction.
His correction (not based on mine) should go into a new branch called
rj/aim_crash.

Other branches

The following branches are not meant for direct development.

The master branch

The master branch only contains tested updates and the tip of the master
is supposed to be the most stable version of Wings. It will never be rewound (reset),
so you can safely base your own branches on it.

The pu branch

The branch (proposed updates) contains everything in next,
but also bleeding edge stuff that may not be ready or fully tested. You should generally
only use the pu branch for testing – never base any branches on it – as it
may be rewound quite often.