[DRAFT] Version Control Workflows

#HSLIDE

Current Reposiroty Structure

  • Trunk
    • Dev workline - where almost every work is done
  • Stable
    • QA testing branch - revisions that are made and tested on Trunk should be merged in this branch
    • Bug fixes related to the code located here should be fixed first on Trunk and then merged here.
  • Release
    • Created by QA after a version on Stable is ready for release
    • Only hotfixes are allowed here
  • Private
    • Temporary branch that should be used for work that can break the Trunk - e.g.: New Features, experimental work.

#HSLIDE

Some attention points

  • Cherry picking merges became the norm.
  • Trunk and Stable have independent life cicles but are maintained by the same users.
  • Inconsistence between both branches history and code.
  • Fixing Stable bugs on Trunk can lead to a inconsistent fix.
  • A code that works on Trunk may not work on Stable as is.

#HSLIDE

What to do?

Improve or change the workflow?

#HSLIDE

What to do?

  • Subversion?
  • Git?

#HSLIDE

What to do?

Adapt and them migrate

or

Migrate and them adapt