From 82faab2fe7683008a9a11a67abe49dd533916b47 Mon Sep 17 00:00:00 2001 From: Zachary Hueras Date: Wed, 16 Sep 2015 15:20:09 -0400 Subject: Only match current HEAD tag in git semver In the scenario that someone had cloned an entire repository and then checked out an older version tag, the semantic versioning would detect the newest tag, not the checked out tag. Look for the HEAD string prior to tag: to indicate the currently selected tag. --- src/rebar_git_resource.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rebar_git_resource.erl b/src/rebar_git_resource.erl index 5a24d1a..0efdd1b 100644 --- a/src/rebar_git_resource.erl +++ b/src/rebar_git_resource.erl @@ -194,7 +194,7 @@ parse_tags(Dir) -> {error, _} -> {undefined, "0.0.0"}; {ok, Line} -> - case re:run(Line, "(\\(|\\s)tag:\\s(v?([^,\\)]+))", [{capture, [2, 3], list}]) of + case re:run(Line, "(\\(|\\s)(HEAD,\\s)tag:\\s(v?([^,\\)]+))", [{capture, [3, 4], list}]) of {match,[Tag, Vsn]} -> {Tag, Vsn}; nomatch -> -- cgit v1.1