wiki:SourceCodeGit/WorkFlow

Version 1 (modified by romw, 12 years ago) (diff)

--

Proposed Git Workflow

Goals

  1. Improve stability of both the server and client software.
  2. Lay the foundation for feature branches should we ever decide to use them.

Branches

dev = server development master = server stable dev_client = client development master_client = client stable

Initial state after migration

master forked to dev master forked to dev_client

dev_client forked to master_client

Client Development

Bug fixes and new simple features start out in dev_client and are merged to master_client when needed.

(if feature branches are used) fork dev_client to client_XXX where XXX is the feature name. Do work in client_XXX until complete. Merge completed feature into dev_client.

Release Process

Dev builds (odd minor version) are built out of the dev_client branch. Tags are created when the build number is incremented.

master_client is forked to boinc_client_release_X_XX when a new dev_client release is considered stable. Any future bug fixes for the X_XX release are handled in its branch.

Mass merge of outstading commits from dev_client to master_client. Increment minor version number.

Current Unknowns

Can git merge a 'lib' change from dev to dev_client? How about the other way?