X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=misc%2Ftools%2Fconflict-watch.sh;h=3ac6e5c728ea49ebce1546ab9098be179e370abe;hb=4331b691c0e4073402529c9de16fe57d38e3edfb;hp=cf4b013902de8e0003c4b4433bd8fc9d7ce6478a;hpb=d5adeaa2976c1d30239584f7a731d580d52d930e;p=xonotic%2Fxonotic.git
diff --git a/misc/tools/conflict-watch.sh b/misc/tools/conflict-watch.sh
index cf4b0139..3ac6e5c7 100755
--- a/misc/tools/conflict-watch.sh
+++ b/misc/tools/conflict-watch.sh
@@ -31,11 +31,13 @@ to_rss()
masterbranch=`echo -n "$masterbranch" | escape_html`
branch=`echo -n "$branch" | escape_html`
repo=`echo -n "$repo" | escape_html`
+
if [ -n "$repo" ]; then
repotxt=" in $repo"
else
repotxt=
fi
+ against="$masterbranch at $masterhash"
if ! [ -f "$outfilename" ]; then
datetime=`date --rfc-2822`
@@ -57,7 +59,7 @@ EOF
http://git.xonotic.org/?p=$repo;a=shortlog;h=refs/heads/$branch
http://nl.git.xonotic.org/xoncw/$filename#$hash
" >>"$outfilename"
@@ -132,6 +134,17 @@ case "$action" in
)
)
masterbranch=${masterbranch#refs/heads/}
+
+ masterhash2=$(
+ (
+ if [ -n "$repodir" ]; then
+ cd "$repodir"
+ fi
+ git rev-parse master
+ )
+ )
+ masterbranch2=master
+
(
if [ -n "$repodir" ]; then
cd "$repodir"
@@ -144,16 +157,40 @@ case "$action" in
xonotic/netradiant.git:refs/remotes/origin/divVerent/zeroradiant-original) continue ;;
xonotic/netradiant.git:refs/remotes/origin/divVerent/zeroradiant-split-up-the-q3map2-commit) continue ;;
xonotic/netradiant.git:refs/remotes/origin/divVerent/zeroradiant-split-up-the-q3map2-commit-goal) continue ;;
- xonotic/fteqcc.git:refs/remotes/origin/wip) continue ;;
- xonotic/darkplaces:refs/remotes/origin/master) continue ;;
- xonotic/darkplaces:refs/remotes/origin/dp-mqc-render) continue ;;
+ xonotic/darkplaces.git:refs/remotes/origin/dp-mqc-render) continue ;;
esac
+
+ if [ x"$masterhash" = x"$masterhash2" ]; then
+ thismasterhash=$masterhash
+ thismasterbranch=$masterbranch
+ else
+ l=$(
+ if [ -n "$repodir" ]; then
+ cd "$repodir"
+ fi
+ git rev-list "$masterhash".."$REFNAME" | wc -l
+ )
+ l2=$(
+ if [ -n "$repodir" ]; then
+ cd "$repodir"
+ fi
+ git rev-list "$masterhash2".."$REFNAME" | wc -l
+ )
+ if [ $l -gt $l2 ]; then
+ thismasterhash=$masterhash2
+ thismasterbranch=$masterbranch2
+ else
+ thismasterhash=$masterhash
+ thismasterbranch=$masterbranch
+ fi
+ fi
+
out=$(
(
if [ -n "$repodir" ]; then
cd "$repodir"
fi
- git reset --hard "$masterhash" >/dev/null 2>&1
+ git reset --hard "$thismasterhash" >/dev/null 2>&1
if out=`git merge --no-commit -- "$REFNAME" 2>&1`; then
good=true
else
@@ -173,7 +210,7 @@ case "$action" in
n=divVerent
;;
esac
- echo "$out" | to_rss "$outdir" "$n" "$masterhash" "$masterbranch" "$HASH" "$b" "$repo"
+ echo "$out" | to_rss "$outdir" "$n" "$thismasterhash" "$thismasterbranch" "$HASH" "$b" "$repo"
echo >&2 " CONFLICT"
else
echo >&2 " ok"