Skip to main content

jPOS Tip and Tail

· 3 min read
Alejandro Revilla
jPOS project founder
REQUIRED ACTIONS

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.

TIP & TAIL

(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 to tail.
  • The current next branch (jPOS 3) will be renamed to main.
note

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
tip

Once we test this new branch plan, we'll use it in jPOS-EE as well.