From: awilliam@xenbuild.aw Date: Sun, 21 May 2006 13:24:51 +0000 (-0600) Subject: [IA64] sparse-merge: check SPARSEDIR for modifications X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16052 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c4fde3eb1508c77014d555a73359b59cf16a87e1;p=xen.git [IA64] sparse-merge: check SPARSEDIR for modifications Check SPARSEDIR for modifications before allowing the merge. This removes the need for the FIXME. Additionally clean up empty diffs at the end of the run. Signed-off-by: Aron Griffis --- diff --git a/xen/arch/ia64/tools/sparse-merge b/xen/arch/ia64/tools/sparse-merge index dbca0c99be..66433187c4 100755 --- a/xen/arch/ia64/tools/sparse-merge +++ b/xen/arch/ia64/tools/sparse-merge @@ -14,16 +14,23 @@ : ${ARCH:=ia64} SPARSEDIR=linux-2.6-xen-sparse +WD=$PWD if [ ! -d $SPARSEDIR ]; then echo "Can't find $SPARSEDIR directory." exit fi -WD=$PWD -# We want the linux upsream tree to be at the OLDTAG to get the OLDTAG-Xen diff. +# Check for modified files in the sparse tree before starting +if hg st $SPARSEDIR | head | grep .; then + echo + echo "$SPARSEDIR contains modifications, please clean it up first" + exit +fi + +# We want the linux upstream tree to be at the OLDTAG to get the OLDTAG-Xen diff. # Save current revision to restore when done -cd $LINUXPATH +cd $LINUXPATH || exit 1 OLDCSET=$(hg parents | awk '/^changeset:/{print($2)}' | cut -f 1 -d :) for t in $OLDTAG $NEWTAG; do if ! hg tags | cut -f1 -d' ' | grep -Fx $t; then @@ -36,6 +43,7 @@ for t in $OLDTAG $NEWTAG; do fi done hg up -C $OLDTAG || exit 1 + cd $WD for i in $(hg manifest | awk '{print($3)}' | grep $SPARSEDIR | grep "$ARCH"); do cd $WD @@ -58,9 +66,6 @@ for i in $(hg manifest | awk '{print($3)}' | grep $SPARSEDIR | grep "$ARCH"); do cd $DIRNAME XENDIR=$(pwd) - ### FIXME ### - hg revert $FILENAME - ORIGPATH=$(echo $i | sed -e "s/^$SPARSEDIR/./") APATH=$(echo $i | sed -e "s/^$SPARSEDIR/a/") BPATH=$(echo $i | sed -e "s/^$SPARSEDIR/b/") @@ -85,7 +90,7 @@ for i in $(hg manifest | awk '{print($3)}' | grep $SPARSEDIR | grep "$ARCH"); do fi TONEWREJ=$(wc -l ${FILENAME}.rej | \ awk '{print($1)}') - hg revert $FILENAME + hg st $FILENAME | grep -q . && hg revert $FILENAME rm -f ${FILENAME}.rej ${FILENAME}.orig diff -uN $DIFFPATH $FILENAME | \ sed -e "s,^--- $DIFFPATH,--- $FILENAME," \ @@ -134,6 +139,6 @@ for i in $(hg manifest | awk '{print($3)}' | grep $SPARSEDIR | grep "$ARCH"); do echo "SUCCESS (Upstream applied)" fi done +find $SPARSEDIR -name \*.diff -empty | xargs -r rm -f cd $LINUXPATH hg up -C $OLDCSET -cd $WD