X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=155cc5e6a701f40eaeac0cc2f60ce3999e47d0c2;hp=5d38877d75f0f98390a6206f80bf65ed0bb919d5;hb=8fa0fcb4cb1e63a3f008ba9024c862716e79beb5;hpb=cf445ff6ef457d68aa13bb060cf8683bbe221a45 diff --git a/all b/all index 5d38877d..155cc5e6 100755 --- a/all +++ b/all @@ -113,11 +113,11 @@ repos_urls=" data/xonotic-data.pk3dir | | master | data/xonotic-maps.pk3dir | | master | data/xonotic-music.pk3dir | | master | -data/xonotic-nexcompat.pk3dir | | master | -mediasource | | master | +data/xonotic-nexcompat.pk3dir | | master | no +mediasource | | master | no darkplaces | | div0-stable | svn fteqcc | git://github.com/Blub/qclib.git | master | -div0-gittools | | master | +div0-gittools | | master | no netradiant | | master | " # todo: in darkplaces, change repobranch to div0-stable @@ -171,12 +171,47 @@ repoflags() echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 4 | tr -d ' ' } -repos=`for d in $repos; do - p="${d%dir}" - if [ x"$p" = x"$d" ] || [ -d "$d" ] || ! { [ -f "$d.no" ] || [ -f "$p" ]; }; then +listrepos() +{ + for d in $repos; do + p="${d%dir}" + f="`repoflags "$d"`" + # if we have the dir, always keep it + if [ -d "$d" ]; then + msg "Repository $d enabled because it already exists" + echo "$d" + continue + fi + # if .yes file exists, always keep it + if [ -f "$d.yes" ]; then + msg "Repository $d enabled by a .yes file" + echo "$d" + continue + fi + # if we have .no file, skip + if [ -f "$d.no" ]; then + msg "Repository $d disabled by a .no file, delete $p.no to enable" + continue + fi + # if we have matching pk3, skip + if [ x"$p" != x"$d" ] && [ -f "$p" ]; then + msg "Repository $d disabled by matching .pk3 file, delete $p or create $d.yes to enable" + continue + fi + # if "no" flag is set, skip + case ",$f," in + *,no,*) + msg "Repository $d disabled by default, create $d.yes to enable" + continue + ;; + esac + # default: enable + msg "Repository $d enabled by default" echo "$d" - fi -done` + done +} + +repos=`listrepos` if [ "$#" = 0 ]; then set -- help @@ -229,6 +264,14 @@ fix_upstream_rebase_mergefail() fix_upstream_rebase } +fix_git_config() +{ + verbose git config core.autocrlf input + if [ -z "`git config push.default`" ]; then + verbose git config push.default current # or is tracking better? + fi +} + case "$cmd" in fix_upstream_rebase) for d in $repos; do @@ -247,11 +290,9 @@ case "$cmd" in if [ -d "$d0/$d" ]; then if $allow_pull; then enter "$d0/$d" verbose + fix_git_config verbose git config remote.origin.url "$url" verbose git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" - - verbose git config core.autocrlf input - r=`git symbolic-ref HEAD` r=${r#refs/heads/} if git config branch.$r.remote >/dev/null 2>&1; then @@ -274,6 +315,7 @@ case "$cmd" in else verbose git clone "$url" "$d0/$d" enter "$d0/$d" verbose + fix_git_config if [ "$branch" != "master" ]; then verbose git checkout --track -b "$branch" origin/"$branch" fi @@ -862,9 +904,10 @@ case "$cmd" in force=true fi for d in $repos; do - enter "$d0/$d" verbose + verbose cd "$d0/$d" if $force; then - verbose git checkout-index -fa + verbose git reset --hard + #redundant# verbose git checkout-index -fa fi case "$d" in .)