Skip to content

Support multiple tagging schemes: v2, v2.4, v2.4.6 or v2.4.6.8 #117

@rudymatela

Description

@rudymatela

Currently Hoff supports "merge and tag"ging for when versions are simply a "v" followed by an integer:

  • ... v29, v30, v31, v32...

We could perhaps make it so that Hoff supports other tagging schemes, such as SemVer (v1.2.3) or Haskell's PVP (v.1.2.3.4).

For SemVer:

  • "merge and tag" would increment the patch level: v2.4.6 -> v2.4.7;
  • "merge and tag minor" would increment the minor level: v2.4.6 -> v2.5.0;
  • "merge and tag major" would increment the major level: v2.4.6 -> v3.0.0.

For Haskell's PVP:

  • "merge and tag" would increment the patch level: v2.4.6.8 -> v2.4.6.9;
  • "merge and tag minor" would increment the minor level: v2.4.6.8 -> v2.4.7.0;
  • "merge and tag major" would increment the major level: v2.4.6.8 -> v2.5.0.0.
  • "merge and tag principal" would increment the principal "major-major" level: v2.4.6.8 -> v3.0.0.0.

Which versioning scheme is being used could be autodetected from existing tags.

And initial implementation could be just picking up incrementing the patch level by default (the last number) followed by one that implements the extra commands.

(I got the idea for this improvement from a private conversation with @fatho.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions