setup: improved sh scripts

- switched to !/bin/bash because of issues with echo -e on Mac OS
- improved git-sync-master.sh to also rebase on current feature branch
- improved logs in git-publish.sh
- changed build scripts to execute from /bin
This commit is contained in:
Eberhard Graether
2014-04-02 22:42:27 +02:00
parent 6afd52a3d2
commit b854cb1f46
8 changed files with 70 additions and 42 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
SUCCESS="\033[32mSuccess:\033[00m"
+2 -2
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Determine path to script
MY_PATH=`dirname "$0"`
@@ -6,4 +6,4 @@ MY_PATH=`dirname "$0"`
cd $MY_PATH/..
# Build and run target
make -C build/Debug "$1" && bin/Debug/"$1"
make -C build/Debug "$1" && cd bin && Debug/"$1"
+5 -4
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
ABORT="\033[31mAbort:\033[00m"
SUCCESS="\033[32mSuccess:\033[00m"
@@ -40,7 +40,7 @@ echo -e $INFO "Checking master"
# check if master is up to date
if [[ -n $(git diff origin/master) ]]
then
echo -e $ABORT "Your master is not up-to-date. Run 'sync.sh' to update your master, then run 'git rebase master' to update branch $BRANCH_NAME."
echo -e $ABORT "Your master is not up-to-date. Run 'git-sync-master.sh' to update master and rebase $BRANCH_NAME."
git checkout -q $BRANCH_NAME
exit 1
fi
@@ -75,6 +75,7 @@ git commit
if [ $? != 0 ]
then
echo -e $ABORT "Commit was aborted."
git checkout -q $BRANCH_NAME
git branch -q -D $PUBLISH_BRANCH_NAME
exit 1
@@ -92,9 +93,9 @@ if [ $? != 0 ]
then
git reset --hard -q HEAD^
git checkout -q $BRANCH_NAME
echo -e $ABORT "Pushing to origin master has failed, there are new remote changes. Run 'sync.sh' to update your master, then run 'git rebase master' to update branch $BRANCH_NAME."
echo -e $ABORT "Pushing to origin master has failed, there are new remote changes. Run 'git-sync-master.sh' to update master and rebase $BRANCH_NAME."
exit 1
fi
echo -e $SUCCESS "Published branch $BRANCH_NAME successfully"
echo -e $SUCCESS "Published $BRANCH_NAME successfully"
exit 0
+55 -28
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
ABORT="\033[31mAbort:\033[00m"
ALERT="\033[31mAlert:\033[00m"
@@ -8,62 +8,89 @@ INFO="\033[33mInfo:\033[00m"
BRANCH_NAME=$(git symbolic-ref -q --short HEAD)
# check if on branch
echo -e $INFO "Checking on branch"
if [ -z $BRANCH_NAME ]
then
echo -e $ABORT "You are not on any branch."
exit 1
fi
# switch to master
echo -e $INFO "Switching to master"
git checkout -q master
if [ $? != 0 ]
then
echo -e $ABORT "Switching to master failed."
exit 1
fi
# check clean index
echo -e $INFO "Checking index"
if [[ -n $(git diff HEAD) ]]
then
echo -e $ABORT "You have uncommited changes on master."
git checkout -q "$BRANCH_NAME"
echo -e $ABORT "You have uncommited changes."
exit 1
fi
# switch to master
if [ $BRANCH_NAME != 'master' ]
then
echo -e $INFO "Switching to master"
git checkout -q master
if [ $? != 0 ]
then
echo -e $ABORT "Switching to master failed."
exit 1
fi
fi
# fetch remote changes
echo -e $INFO "Fetching changes"
git fetch -q origin master
git fetch origin master
if [ $? != 0 ]
then
echo -e $ABORT "Fetching from origin master failed."
echo -e $ABORT "Fetching from origin master failed"
git checkout -q "$BRANCH_NAME"
exit 1
fi
if [[ -z $(git diff origin/master) ]]
then
echo -e $SUCCESS "Your master is already up-to-date."
git checkout -q "$BRANCH_NAME"
exit 0
fi
# rebase master to origin/master
git rebase -q origin/master
if [[ -z $(git diff origin/master) ]]
then
echo -e $SUCCESS "Your master is up-to-date"
else
echo -e $INFO "Rebasing to origin/master"
git rebase origin/master
if [ $? != 0 ]
then
echo -e $ALERT "Rebasing on master caused conflicts. This should never happen. Follow the instructions above to resolve them then use 'git push origin master' to update the remote."
exit 1
fi
echo -e $SUCCESS "Updated master"
fi
if [ $BRANCH_NAME == 'master' ]
then
exit 0
fi
# switch to branch
echo -e $INFO "Switching back to $BRANCH_NAME"
git checkout -q "$BRANCH_NAME"
if [ $? != 0 ]
then
echo -e $ALERT "Rebasing on master caused conflicts. This should never happen. Follow the instructions above to resolve them then use 'git push origin master' to update the remote."
echo -e $ABORT "Switching back to $BRANCH_NAME failed."
exit 1
fi
git checkout -q "$BRANCH_NAME"
# rebase branch to master
echo -e $INFO "Rebasing $BRANCH_NAME to master"
git rebase master
if [ $? != 0 ]
then
echo -e $ALERT "Rebasing $BRANCH_NAME to master caused conflicts. Follow the instructions above to resolve them."
exit 1
else
echo -e $SUCCESS "$BRANCH_NAME is now up-to-date."
fi
echo -e $SUCCESS "Updated master"
exit 0
+2 -2
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Determine path to script
MY_PATH=`dirname "$0"`
@@ -6,4 +6,4 @@ MY_PATH=`dirname "$0"`
cd $MY_PATH/..
# Build and run target
make -C build/Release "$1" && bin/Release/"$1"
make -C build/Release "$1" && cd bin && Release/"$1"
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
ABORT="\033[31mAbort:\033[00m"
SUCCESS="\033[32mSuccess:\033[00m"
+2 -2
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Determine path to script
MY_PATH=`dirname "$0"`
@@ -6,4 +6,4 @@ MY_PATH=`dirname "$0"`
cd $MY_PATH/..
# Build and run target
make -C build/Debug "$1" && valgrind --tool=memcheck --leak-check=yes --log-file=build/Debug/"$1".leaklog bin/Debug/"$1"
make -C build/Debug "$1" && cd bin && valgrind --tool=memcheck --leak-check=yes --log-file=../build/Debug/"$1".leaklog Debug/"$1"
+2 -2
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Determine path to script
MY_PATH=`dirname "$0"`
@@ -6,4 +6,4 @@ MY_PATH=`dirname "$0"`
cd $MY_PATH/..
# Build and run target
make -C build/Release "$1" && valgrind --tool=memcheck --leak-check=yes --log-file=build/Release/"$1".leaklog bin/Release/"$1"
make -C build/Release "$1" && cd bin && valgrind --tool=memcheck --leak-check=yes --log-file=../build/Release/"$1".leaklog Release/"$1"