lud/mix_version

Feature Request: Annotated tags

frankdugan3 opened this issue · 6 comments

First, great library!

As I understand it, it seems that it is generally encouraged to use annotated tags for tags that are intended to be shared outside the local repo. This enables the use of push.followTags setting to automatically push such tags by default.

Would you consider switching to annotated tags, or providing them as a configurable option?

See this StackOverflow for more context.

lud commented

Hi, Thanks :)

Adding annotations can be done.

I am not sure about how to tackle this though. We could add a -a option that takes a message and annotates the tag or pulls a default message from the local config. And another configuration option that would say "always annotate".

I do not really like the fact that a project's config holds configuration for an external tool (as it is not intended to be a dependency) but I do not like global config for such tools. At least it would be totally optional so why not.

What do you think ?

I like both the -a flag and the config options.

Personally, I include this tool in my mix.exs file, but mark it as dev-only and non-runtime, like a lot of folks do with credo: {:mix_version, "~> 1.2", only: :dev, runtime: false}. From my perspective, that means it's installed and configured for whoever is working on the repo, and I can just document the mix version -p, etc. commands in my README.md file.

lud commented

alright then, I don't know when but I'll do it soon.

lud commented

Hi,

I just pushed 1.3 to Github, but not to hex.pm yet. Can you please tell me if it works well for you?

I do not have a good testing strategy yet. Because to test for Git I must create a project in a new directory outside of the project, and then let the tests issue git commands and read Git state to see if everything worked as intended. That would take a lot of time for such a tiny project.

Looks good to me. Thanks!

lud commented

Cool thanks