aboutsummaryrefslogtreecommitdiff
path: root/tools/set-dep-versions
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2015-02-26 00:02:11 +0100
committerHolger Weiss <holger@zedat.fu-berlin.de>2015-02-26 00:02:11 +0100
commit96025bfc6e3268a18de7d8a97a3d3eea39636bce (patch)
treef504dd666c20b12b8d3e3a0706068c8bcf01de40 /tools/set-dep-versions
parentUpdate FSF address (diff)
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.
Diffstat (limited to '')
-rwxr-xr-xtools/set-dep-versions26
1 files changed, 20 insertions, 6 deletions
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"
}