Browse Source

Improve semantic versioning from git between tags

In the scenario we that we have selected a commit
that is between two tags, we should base the
version on the most recent tag we can see in the
revision history, but we should not treat this as
the tag version.

`git describe --tags` finds the most recent tag
visible in the revision history from the current
HEAD. Return this as the version string and
undefined as the tag to trigger ref counting.
pull/811/head
Zachary Hueras 9 years ago
parent
commit
1469e59c3a
1 changed files with 7 additions and 1 deletions
  1. +7
    -1
      src/rebar_git_resource.erl

+ 7
- 1
src/rebar_git_resource.erl View File

@ -198,6 +198,12 @@ parse_tags(Dir) ->
{match,[Tag, Vsn]} -> {match,[Tag, Vsn]} ->
{Tag, Vsn}; {Tag, Vsn};
nomatch -> nomatch ->
{undefined, "0.0.0"}
case rebar_utils:sh("git describe --tags",
[{use_stdout, false}, return_on_error, {cd, Dir}]) of
{error, _} ->
{undefined, "0.0.0"};
{ok, LatestVsn} ->
{undefined, string:strip(LatestVsn, both, $\n)}
end
end end
end. end.

Loading…
Cancel
Save