def bump_patch_tag tag
      @v[:build] = '0' unless build.nil?
      if patch_tag.nil?
        @v[:patch] = patch.succ
        return @v[:patch_tag] = tag
      elsif patch_tag.start_with? tag
        # ensure tag ends with number
        if patch_tag !~ %r{\d+$}
          @v[:patch_tag] = patch_tag + '1' # required for succ to work
        end
        # increment this tag
        @v[:patch_tag] = patch_tag.succ
      else
        @v[:patch_tag] = tag # replace tag
      end
    end
def bump_patch_tag tag
      @v[:build] = '0' unless build.nil?
      if patch_tag.nil?
        @v[:patch] = patch.succ
        return @v[:patch_tag] = tag
      elsif patch_tag.start_with? tag
        # ensure tag ends with number
        if patch_tag !~ %r{\d+$}
          @v[:patch_tag] = patch_tag + '1' # required for succ to work
        end
        # increment this tag
        @v[:patch_tag] = patch_tag.succ
      else
        @v[:patch_tag] = tag # replace tag
      end
    end
patch tags go from alpha, alpha2, alpha3, etc.