]> git.mxchange.org Git - jprojects-scripts.git/blob - pull-stick.sh
3406617efd9b1cb6f6a2e26782688d34a8f76fa9
[jprojects-scripts.git] / pull-stick.sh
1 #!/bin/bash
2
3 . ./.jprojects.sh || exit 255
4
5 for project in ${LIST}; do
6         if [ ! -d "${JPROJECTS_HOME}/${project}" ]
7         then
8                 echo "$0: Project '${project}' does not exist."
9                 continue
10         fi
11
12         cd "${JPROJECTS_HOME}/${project}" || exit 255
13
14         if [ -n "$2" ]
15         then
16                 git branch -D "$2"
17         fi
18
19         if [ "$1" = "c" ]
20         then
21                 echo "$0: Checkout '${project}' ..."
22                 git checkout -- . || exit 255
23         elif [ "$1" = "r" ]
24         then
25                 echo "$0: Resetting '${project}' ..."
26                 git reset --hard || exit 255
27         fi
28
29         echo "$0: Pulling '${project}' ..."
30         if [ "$1" = "a" ]
31         then
32                 git pull --all || exit 255
33         else
34                 git pull -S origin master || exit 255
35                 git fetch upstream || exit 255
36                 git fetch transport || exit 255
37         fi
38
39         echo "$0: Merging upstream into '${project}' ..."
40         git merge -S upstream/master || exit 255
41
42         if [ "$1" != "s" -a "$1" != "a" ]
43         then
44                 echo "$0: Rebasing '${project}' ..."
45                 git rebase -Sm origin/master || exit 255
46         fi
47 done
48
49 echo "$0: All done."
50 exit 0