fix git command to find tags and default empty pattern
This commit is contained in:
parent
fb449e9e01
commit
f1ecf12ad3
1 changed files with 7 additions and 3 deletions
|
@ -85,16 +85,20 @@ get_patch_count(RawRef) ->
|
||||||
os:cmd(Cmd).
|
os:cmd(Cmd).
|
||||||
|
|
||||||
-spec parse_tags(t()) -> {string()|undefined, ec_semver:version_string()}.
|
-spec parse_tags(t()) -> {string()|undefined, ec_semver:version_string()}.
|
||||||
|
parse_tags({}) ->
|
||||||
|
parse_tags("");
|
||||||
parse_tags(Pattern) ->
|
parse_tags(Pattern) ->
|
||||||
Cmd = io_lib:format("git describe --abbrev=0 --match \"~s*\"", [Pattern]),
|
Cmd = io_lib:format("git describe --abbrev=0 --tags --match \"~s*\"", [Pattern]),
|
||||||
Tag = os:cmd(Cmd),
|
Tag = os:cmd(Cmd),
|
||||||
Vsn = slice(Tag, len(Pattern) + 1),
|
Vsn = slice(Tag, len(Pattern) + 1),
|
||||||
Vsn1 = trim(Vsn, left, "v"),
|
Vsn1 = trim(trim(Vsn, left, "v"), right, "\n"),
|
||||||
{Tag, Vsn1}.
|
{Tag, Vsn1}.
|
||||||
|
|
||||||
-ifdef(unicode_str).
|
-ifdef(unicode_str).
|
||||||
len(Str) -> string:length(Str).
|
len(Str) -> string:length(Str).
|
||||||
trim(Str, Dir, Chars) -> string:trim(Str, Dir, Chars).
|
trim(Str, right, Chars) -> string:trim(Str, trailing, Chars);
|
||||||
|
trim(Str, left, Chars) -> string:trim(Str, leading, Chars);
|
||||||
|
trim(Str, both, Chars) -> string:trim(Str, both, Chars).
|
||||||
slice(Str, Len) -> string:slice(Str, Len).
|
slice(Str, Len) -> string:slice(Str, Len).
|
||||||
-else.
|
-else.
|
||||||
len(Str) -> string:len(Str).
|
len(Str) -> string:len(Str).
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue