1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
#!/bin/sh
hg pull -b $push_branch
hg up $push_branch -C
rm -rf usersguide/javahelp
# mkdir -p usersguide/javahelp/org/netbeans/modules/usersguide
# cp -r -v $pull_path/org/netbeans/modules/usersguide/* usersguide/javahelp/org/netbeans/modules/usersguide/
mkdir -p usersguide/javahelp
cp -r -v $pull_path/* usersguide/javahelp/
hg add usersguide/javahelp
hg st usersguide/javahelp
DELETED_FILES_COUNT=`hg st -d usersguide/javahelp | wc -l`
echo DELETED_FILES_COUNT: $DELETED_FILES_COUNT
if [ "$DELETED_FILES_COUNT" -gt 0 ]; then
hg st -d usersguide/javahelp | cut -c 3- | xargs hg rm -A
fi
CHANGED_FILES_COUNT=`hg st -mar usersguide/javahelp | wc -l`
echo CHANGED_FILES_COUNT: $CHANGED_FILES_COUNT
if [ "$CHANGED_FILES_COUNT" -gt 0 ]; then
echo $CHANGED_FILES_COUNT changes found, let start the build and push.
ant clean build || exit 2
echo Build succeed.
# update to latest tip
hg pull -u
# encode windows-like line-endings to unix-like
hg ci -m "new help files" -u "$commit_username" --config 'extensions.win32text=' --config 'encode.**=cleverencode:'
# check count of really modified files for push
OUT_COUNT=`hg parent -v --template 'files: {files}'| grep '^files:' | wc -l`
echo OUT_COUNT: $OUT_COUNT
if [ "$OUT_COUNT" -gt 0 ]; then
echo "There are $OUT_COUNT outgoing changes, start pushing..."
hg push -b $push_branch -f $push_url
HG_RESULT=$?
if [ $HG_RESULT == 0 ]; then
echo Push succeed.
else
echo "Hg push failed: $HG_RESULT, rolling back the commit"
hg rollback
hg up -C
exit $HG_RESULT;
fi
else
echo "There are no outgoing changes, rolling back the commit"
hg rollback
hg up -C
fi
else
echo No changes found, no reason to push.
hg up -C
fi
|