diff options
author | Rudolf Polzer <divverent@xonotic.org> | 2013-10-30 16:08:06 +0100 |
---|---|---|
committer | Rudolf Polzer <divVerent@xonotic.org> | 2013-11-04 11:31:11 +0100 |
commit | 78f721cb8b194beab1044a0a6f2ee7c7028d7887 (patch) | |
tree | af9479a3c6180523b6cbe443c3b9b1a6baca3618 | |
parent | 9b7656d6626b3a970b05fcd4cd19cb2f802f9e15 (diff) | |
download | mpv-build-78f721cb8b194beab1044a0a6f2ee7c7028d7887.tar.bz2 mpv-build-78f721cb8b194beab1044a0a6f2ee7c7028d7887.tar.xz |
./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.
-rwxr-xr-x | update | 66 |
1 files changed, 63 insertions, 3 deletions
@@ -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 |