From 78f721cb8b194beab1044a0a6f2ee7c7028d7887 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Wed, 30 Oct 2013 16:08:06 +0100 Subject: ./update script: support extra arguments. --submodule: update to the submodule-registered versions. --master: update to the master branch versions. --release: update to the latest released versions. --- update | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 3 deletions(-) (limited to 'update') diff --git a/update b/update index de1b51a..0b5e7e0 100755 --- a/update +++ b/update @@ -1,4 +1,64 @@ #!/bin/sh -git pull -git submodule sync -git submodule update --init + +do_submodules() +{ + set -ex + echo >&2 "Executing: git submodule sync" + git submodule sync + echo >&2 "Executing: git submodule update --init" + git submodule update --init +} + +do_gitmaster() +{ + set -ex + git submodule foreach 'git checkout master' + git submodule foreach 'git remote prune origin' +} + +do_releasetag_submodule() +{ + ( + cd "$1" + version=`git tag | grep "^$2[0-9]" | sort -V | tail -n 1` + git checkout --detach refs/tags/"$version" + ) +} + +do_releasetag() +{ + set -ex + git submodule foreach 'git fetch' + git submodule foreach 'git remote prune origin' + do_releasetag_submodule ffmpeg 'n' + do_releasetag_submodule fribidi '' + do_releasetag_submodule libass '' + do_releasetag_submodule mpv 'v' +} + +if [ x"$1" != x"--skip-selfupdate" ]; then + ( + set -ex + git pull + ) + exec "$0" --skip-selfupdate "$@" +fi +shift + +case "$1" in + --submodule|'') + do_submodules + ;; + --master) + do_gitmaster + ;; + --release) + do_releasetag + ;; + *) + echo >&2 "$0 --submodule" + echo >&2 "$0 --master" + echo >&2 "$0 --release" + exit 0 + ;; +esac -- cgit v1.2.3