mirror of
https://gitlab.com/xonotic/xonotic
synced 2024-12-14 10:55:18 +00:00
autodetect whether a branch is based on master or on div0-stable; flag ./all compile -n which doesn't make clean
This commit is contained in:
parent
fecd9ecd51
commit
6c11bb6513
54
all
54
all
@ -434,11 +434,21 @@ case "$cmd" in
|
||||
fi
|
||||
case "$1" in
|
||||
-c)
|
||||
clean=true
|
||||
cleandp=true
|
||||
cleanqcc=true
|
||||
cleanqc=true
|
||||
shift
|
||||
;;
|
||||
-n)
|
||||
cleandp=false
|
||||
cleanqcc=false
|
||||
cleanqc=false
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
clean=false
|
||||
cleandp=false
|
||||
cleanqcc=false
|
||||
cleanqc=true # version info
|
||||
;;
|
||||
esac
|
||||
case "$1" in
|
||||
@ -471,28 +481,28 @@ case "$cmd" in
|
||||
MAKEFLAGS="$MAKEFLAGS DP_MAKE_TARGET=mingw"
|
||||
fi
|
||||
fi
|
||||
|
||||
enter "$d0/fteqcc" verbose
|
||||
if $clean; then
|
||||
if $cleanqcc; then
|
||||
verbose make $MAKEFLAGS clean
|
||||
fi
|
||||
verbose make $MAKEFLAGS
|
||||
|
||||
enter "$d0/data/xonotic-data.pk3dir" verbose
|
||||
if $clean; then
|
||||
verbose make $MAKEFLAGS clean
|
||||
if $cleanqc; then
|
||||
verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean
|
||||
fi
|
||||
verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean
|
||||
verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS
|
||||
|
||||
enter "$d0/darkplaces" verbose
|
||||
if $clean; then
|
||||
if $cleandp; then
|
||||
verbose make $MAKEFLAGS clean
|
||||
fi
|
||||
for T in $TARGETS; do
|
||||
verbose make $MAKEFLAGS "$@" "$T"
|
||||
done
|
||||
|
||||
verbose "$SELF" update-maps
|
||||
;;
|
||||
makebuild)
|
||||
|
||||
;;
|
||||
run)
|
||||
if [ -n "$WE_HATE_OUR_USERS" ]; then
|
||||
@ -648,7 +658,7 @@ case "$cmd" in
|
||||
continue
|
||||
;;
|
||||
*/*)
|
||||
;;
|
||||
;;
|
||||
*)
|
||||
continue
|
||||
;;
|
||||
@ -658,9 +668,23 @@ case "$cmd" in
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
case "$base" in
|
||||
master)
|
||||
realbase=$base
|
||||
;;
|
||||
*)
|
||||
l0=`git rev-parse "$base".."$ref" | wc -l`
|
||||
l1=`git rev-parse master.."$ref" | wc -l`
|
||||
if [ $l0 -gt $l1 ]; then
|
||||
realbase=master
|
||||
else
|
||||
realbase=$base
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
reportecho " Branch $ref:"
|
||||
note=`GIT_NOTES_REF=refs/notes/admin-merge git notes show "$ref" 2>/dev/null || true`
|
||||
logdata=`git log --color "$base".."$ref"`
|
||||
logdata=`git log --color "$realbase".."$ref"`
|
||||
if [ -z "$logdata" ]; then
|
||||
reportecho4 "--> not merging, no changes vs master"
|
||||
if yesno "Branch \"$ref\" probably should get deleted. Do it?" ''; then
|
||||
@ -668,7 +692,7 @@ case "$cmd" in
|
||||
reportecho4 "--> branch deleted"
|
||||
fi
|
||||
else
|
||||
diffdata=`git diff --color --find-copies-harder --ignore-space-change "$base"..."$ref"`
|
||||
diffdata=`git diff --color --find-copies-harder --ignore-space-change "$realbase"..."$ref"`
|
||||
if [ -z "$diffdata" ]; then
|
||||
reportecho4 "--> not merging, no changes vs master, branch contains redundant history"
|
||||
if yesno "Branch \"$ref\" probably should get deleted. Do it?" '{ echo "$logdata"; } | less -r'; then
|
||||
@ -679,7 +703,7 @@ case "$cmd" in
|
||||
reportdo4 echo "$note"
|
||||
reportecho4 "--> not merging, already had this one rejected before"
|
||||
elif yesno "Branch \"$ref\" may want to get merged. Do it?" '{ echo "$logdata"; echo "$diffdata"; } | less -r'; then
|
||||
git checkout "$base"
|
||||
git checkout "$realbase"
|
||||
org=`git rev-parse HEAD`
|
||||
if ! git merge "$ref" 2>&1 | tee "$t" && ! { git ls-files -u | grep ' 1 ' >/dev/null; }; then
|
||||
git reset --hard "$org"
|
||||
@ -914,7 +938,7 @@ case "$cmd" in
|
||||
echo " $SELF branch [<remote>] <branchname>"
|
||||
echo " $SELF branch <remote> <branchname> <srcbranchname>"
|
||||
echo " $SELF checkout [<remote>] <branchname>"
|
||||
echo " $SELF compile [-c] [<client>] <options>"
|
||||
echo " $SELF compile [-c|-n] [<client>] <options>"
|
||||
echo " $SELF run [<client>] <options>"
|
||||
echo " $SELF each <command>"
|
||||
;;
|
||||
|
Loading…
Reference in New Issue
Block a user