blob: 62154fac609a4be441a6005232ca24f1f5bf3216 (
plain)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
#! /bin/bash
# update_OPNFV-mirror.sh
#
#
# Copyright 2015, Yunify, Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##### Settings #####
VERSION=1.0.0
AUTHOR="Ashlee Young"
MODIFIED="November 3, 2015"
DEVROOT=$(pwd)
OPNFV_REPO=gerrit-onosfw
GITHUB_REPO=gerrit-mirror
GERRITURL=https://gerrit.opnfv.org/gerrit/onosfw
GITHUBURL=https://github.com/onosfw/gerrit-mirror
##### End Settings #####
##### Ask Function #####
ask()
{
while true; do
if [ "${2:-}" = "Y" ]; then
prompt="Y/n"
default=Y
elif [ "${2:-}" = "N" ]; then
prompt="y/N"
default=N
else
prompt="y/n"
default=
fi
# Ask the question
read -p "$1 [$prompt] " REPLY
# Default?
if [ -z "$REPLY" ]; then
REPLY=$default
fi
# Check if the reply is valid
case "$REPLY" in
Y*|y*) return 0 ;;
N*|n*) return 1 ;;
esac
done
}
##### End Ask Function #####
##### Version #####
displayVersion()
{
printf "You are running installer script Version: %s \n" "$VERSION"
printf "Last modified on %s, by %s. \n\n" "$MODIFIED" "$AUTHOR"
}
##### End Version #####
setupRepos()
{
# Check for OPNFV Gerrit Repo
cd $DEVROOT
if [ ! -d $OPNFV_REPO ]; then
printf "Perhaps you've named it differently, but we don't see $OPNFV_REPO.\n"
if ask "Would you like us to checkout ONOSFW from Gerrit?"; then
git clone $GERRITURL
fi
else
if ask "Would you like us to update your Gerrit Repo?"; then
cd $DEVROOT/$OPNFV_REPO
git pull
fi
fi
# Check for ONOSFW Mirror Repo
cd $DEVROOT
if [ ! -d $GITHUB_REPO ]; then
printf "Perhaps you've named it differently, but we don't see $GITHUB_REPO.\n"
if ask "Would you like us to checkout ONOSFW from Github?"; then
git clone $GITHUBURL
fi
else
if ask "Would you like us to update your Github Mirror?"; then
cd $DEVROOT/$GITHUB_REPO
git pull
fi
fi
}
syncRepos()
{
if ask "Would you like to sync the two repos?"; then
cd $DEVROOT
rsync -arv --exclude=.git --exclude=.gitignore --exclude=.gitreview $OPNFV_REPO/ $GITHUB_REPO/
cd $DEVROOT/$GITHUB_REPO/framework/build
ls | grep -v README | xargs rm -rf
printf "Your local ONOSFW repo and mirror are now in sync.\n\n"
fi
cd $DEVROOT/$OPNFV_REPO
lastCommit=$(git log -1 | grep commit | grep -v ONOS | awk '{print $2}')
printf "Gerrit's commit ID is set to $lastCommit\n\n"
}
checkinMirror()
{
if ask "Would you like to push the repo changes to Github?"; then
cd $DEVROOT/$GITHUB_REPO
git add --all .
git commit -m "Updating to Gerrit commit id $lastCommit"
git push
fi
}
main()
{
displayVersion
setupRepos
syncRepos
checkinMirror
}
main
|