summaryrefslogtreecommitdiff
path: root/pull.sh
blob: 8c2d2781e8b90a55d70b33e58190ee73b98fa408 (plain) (blame)
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
#!/bin/bash

function status {
    if [ ! -d "$1" ]; then
        return
    fi
    DIR=`pwd`
    cd "$1"
    STR=`git diff --name-only`
    STR2=`git status|grep "Your branch is ahead"`
    STR3=`git status -s -uno`
    echo "$2:"
    if [[ -n "${STR}${STR2}${STR3}" ]]; then
        echo -e "\e[1;31mCant pull because changes not pushed\e[0m"
    else
        git pull
    fi
    cd $DIR
}

function status2 {
    if [ ! -d "$1" ]; then
        return
    fi
    DIR=`pwd`
    cd "$1"
    STR=`git diff --name-only`
    STR2=`git status|grep "Your branch is ahead"`
    STR3=`git status -s -uno`
    echo "$2:"
    if [[ -n "${STR}${STR2}${STR3}" ]]; then
        echo -e "\e[1;31mCant pull because changes not pushed\e[0m"
    else
        git pull --no-commit
        git fetch origin
        export BRANCH=`git rev-parse --abbrev-ref HEAD`
        git reset --hard origin/${BRANCH}
    fi
    cd $DIR
}

status . evol-all
status client-data client-data
status2 server-code server-code
status server-data server-data
status server-local server-local
status tools tools
status server-code/src/evol evol-hercules
status music music
status art art
status manaplus manaplus