Hi Esteban and Bob
Esteban, fIrst, thanks for the announcement of a configurable strategy, as this is a solid way to provide enough room for individual solutions.
Any rigid general rule won't do, as my snippet has proven, as so many (not communicated) assumptions have to be considered, too.
Many cases here depend on individual requirements, based on the given template support, this will give anybody the opportunity to taylor a solution to his needs.
Bob, if you need
s.th. in between, before arrival of the strategy, let me know.
I intentionally did not assume any template in my suggestion. And even with the information you gave above (to be based on date and id template), other important details are not fixed yet.
e.g. when to create a branch, the position and structure of the version, ...
Up to know there was the hidden assumption that the version string ends with scheme to be incremented (but the %D %I does not).
My simple approach thus increments %I (or whatever is at the end of the template, I did not orientate on any place holder).
A strategy is the answer to solve this and to avoid other pitfalls, like incrementing the wrong part or even to make use of my hack to patch an existing version code.
Kind regards
M