jPOS Tip and Tail
If you already have a local copy of jPOS (master or next), please note there are REQUIRED ACTIONS at the end of this blog post
When we started work on jPOS 3.x on the new next
branch, the plan was to rename the existing master
branch (jPOS 2 series) to v2
and then migrate the next
branch to main
, aligning with the new industry default branch naming convention for the default repository (main) upon the release of jPOS 3.0.0.
Now that jPOS 3.0.0 has been released, we can see how it aligns perfectly with JEP-14, The Tip & Tail Model of Library Development, which fits our approach seamlessly.
(from JEP-14 summary)
..… The tip release of a library contains new features and bug fixes, while tail releases contain only critical bug fixes. As little as possible is backported from the tip to the tails. The JDK has used tip & tail since 2018 to deliver new features at a faster pace, as well as to provide reliable and predictable updates for users focused on stability.
So, we slightly adjusted our branch plan as follows:
- The current
master
branch (jPOS 2) will be renamed totail
. - The current
next
branch (jPOS 3) will be renamed tomain
.
We briefly considered naming the main
branch tip
to better align with JEP-14 terminology. However, most developers are already familiar with the term main
, and migrating projects from master
to main
for political correctness was challenging enough. Since main
is now the default for new repositories, we’ve decided not to deviate further to avoid unnecessary confusion.
Bottom line: We have two important branches now. main
is our Tip, jPOS 3, where all the exiting development goes. tail
is currently the latest 2-series. The branching plan looks like this:
REQUIRED ACTIONS
On your existing next
branch:
git branch -m next main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a
On your existing master
branch:
git branch -m master tail
git fetch origin
git branch -u origin/tail tail
Once we test this new branch plan, we'll use it in jPOS-EE as well.