Hello all,

Here is current strategy we are following for branching and versioning in
Lens. If people are fine with the same in apache repo also, I'm planning to
push both master and develop branches to the repo.

* Branching

  Lens has two main branches - <master> and <develop>. All the day to day
development happens on <develop> branch.   <master> branch is used to make
releases. When develop branch is ready for release (all issues marked for
release are fixed and all tests passing), develop will merged to master and
release will be triggered from master. Once the release is done master will
be merged into develop for version number upgrade.

 If a critical release (not pulling code from develop) needs to be made, a
new branch will be created with release number, by checking out master. And
changes will be put on the branch. Once the branch is ready they will
merged to master and released. The changes should be merged into develop
from master once the release is made and resolving conflicts in develop if
any.

  There can feature branches created, if feature is not actively developed
in develop branch directly.

  Having two main branches makes all release tags to be created on master
branch and removes the pile up old and stale branches, which are created by
one for each release. And Merging of issues done by critical patch release
is already taken care.


* Versioning

  Lens follows three number versioning which is major.minor.revision. If
the current release is 1.1.0, the next usual development release will be
1.2.0. If there needs to be separate release on released version and not
from development branch (usually critical patch release), it will be 1.1.1.
If the next release is not api compatible with previous release, then the
major version needs to be incremented, then it would become 2.0.0. This way
all 1.x.x releases will be compatible with one another. And incompatibility
is clearly communicated to users through major version number change.

Let me know your thoughts

Thanks

Amareshwari

Reply via email to