From 96025bfc6e3268a18de7d8a97a3d3eea39636bce Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Thu, 26 Feb 2015 00:02:11 +0100 Subject: set-dep-versions: Cope with branches Handle the case where a branch name is specified for a rebar dependency, as we now do for Elixir. --- tools/set-dep-versions | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'tools') diff --git a/tools/set-dep-versions b/tools/set-dep-versions index 8d56cde4d..65b250516 100755 --- a/tools/set-dep-versions +++ b/tools/set-dep-versions @@ -19,9 +19,13 @@ die() get_dep_list() { - sed -n \ - '/.*{ *\([^,]*\),[^,]*, *{git, *"\([^"]*\)".*/ { - s//\1,\2/ + sed -n ' + /.*{ *\([^,]*\),[^,]*, *{ *git, *"\([^"]*\)" *} *}.*/ { + s//\1,\2,master/ + p + } + /.*{ *\([^,]*\),[^,]*, *{ *git, *"\([^"]*\)" *, *{ *branch, *"\([^"]*\)".*/ { + s//\1,\2,\3/ p }' "$rebar_script" } @@ -33,7 +37,15 @@ get_dep_name() get_dep_url() { - printf '%s' "${1#*,}" + dep_url=${1#*,} + dep_url=${dep_url%,*} + + printf '%s' "$dep_url" +} + +get_dep_branch() +{ + printf '%s' "${1##*,}" } get_dep_rev() @@ -51,9 +63,10 @@ clone_repo() { dep_name=$(get_dep_name "$1") dep_url=$(get_dep_url "$1") + dep_branch=$(get_dep_branch "$1") cd "$deps_dir" - git clone -q "$dep_url" "$dep_name" + git clone -q -b "$dep_branch" "$dep_url" "$dep_name" cd "$OLDPWD" } @@ -64,7 +77,8 @@ edit_rebar_script() dep_rev=$(get_dep_rev "$1") echo "Using revision $dep_rev of $dep_name" - sed "s|\"$dep_url\"[^}]*}|\"$dep_url\", \"$dep_rev\"}|" \ + sed -e "s|\"$dep_url\".*{ *branch[^}]*} *}|\"$dep_url\", \"$dep_rev\"}|" \ + -e "s|\"$dep_url\"[^}]*}|\"$dep_url\", \"$dep_rev\"}|" \ "$rebar_script" >"$temp_file" mv "$temp_file" "$rebar_script" } -- cgit v1.2.3