8 tagForVersion=v${version}
10 ###############################################################################
12 declare -a repositories=(
13 "simantics/third-party.git" "third-party"
14 "simantics/platform.git" "platform"
15 "simantics/fmil.git" "fmil"
16 "simantics/interop.git" "interop"
17 "simantics/district.git" "district"
18 "simantics/matlab.git" "matlab"
19 "simantics/python.git" "python"
21 "simantics/sysdyn.git" "sysdyn"
22 "simantics/3d.git" "3d"
23 "members/fmi.git" "fmi"
24 "members/simupedia.git" "simupedia"
25 "gold-members/proteus.git" "proteus"
28 repositoryCount=$((${#repositories[@]} / 2))
31 eval $1=\${repositories[$(($2 * 2))]}
35 eval $1=\${repositories[$(($2 * 2 + 1))]}
38 ###############################################################################
41 echo "[$(($1+1))/${repositoryCount}] $2"
45 echo "git clone ssh://${user}@www.simantics.org:29418/$1"
46 git clone ssh://${user}@www.simantics.org:29418/$1
55 echo "git fetch --all"
65 echo "git push origin $1"
70 echo "git checkout $1"
75 echo "git tag $1 -m \"Simantics $1 simultaneous release\""
76 git tag $1 -m "Simantics $1 simultaneous release"
85 echo "git push origin --tags"
86 git push origin --tags
97 function listBranches {
101 ###############################################################################
106 pushd $version > /dev/null
107 for (( i=0; i<${repositoryCount}; i++ )); do
117 if [ ! -d $version ]; then
118 echo "Version directory '$version' does not exist yet. Please run the 'clone' action first."
122 pushd $version > /dev/null
125 for (( i=0; i<${repositoryCount}; i++ )); do
127 msg $i "Create $branch branch in $lp"
128 pushd $lp > /dev/null
134 for (( i=0; i<${repositoryCount}; i++ )); do
136 msg $i "Checkout $branch branch in $lp"
137 pushd $lp > /dev/null
143 for (( i=0; i<${repositoryCount}; i++ )); do
145 msg $i "Tag ${version} for $lp"
146 pushd $lp > /dev/null
153 for (( i=0; i<${repositoryCount}; i++ )); do
155 msg $i "List branches in $lp"
156 pushd $lp > /dev/null
162 for (( i=0; i<${repositoryCount}; i++ )); do
164 msg $i "List tags in $lp"
165 pushd $lp > /dev/null
171 for (( i=0; i<${repositoryCount}; i++ )); do
173 msg $i "Remove tag $tagForVersion from $lp"
174 pushd $lp > /dev/null
175 removeTag ${tagForVersion}
180 for (( i=0; i<${repositoryCount}; i++ )); do
182 msg $i "Fetch from remote origin in $lp"
183 pushd $lp > /dev/null
189 for (( i=0; i<${repositoryCount}; i++ )); do
191 msg $i "Pull from remote origin in $lp"
192 pushd $lp > /dev/null
198 for (( i=0; i<${repositoryCount}; i++ )); do
200 msg $i "Push branch $branch to remote origin in $lp"
201 pushd $lp > /dev/null
207 for (( i=0; i<${repositoryCount}; i++ )); do
209 msg $i "Push tags to remote origin in $lp"
210 pushd $lp > /dev/null
216 for (( i=0; i<${repositoryCount}; i++ )); do
218 msg $i "Status of $lp"
219 pushd $lp > /dev/null
225 echo "Usage: ${self} <version> <branch-name> <user-name> clone|branch|checkout|fetch|list-tags|pull|push|push-tags|remove-tag|status|tag"