+
+ branch-release)
+ fromBranch=$1
+ popd > /dev/null
+ bash $selfpath $version $fromBranch $user checkout
+ bash $selfpath $version $branch $user branch
+ bash $selfpath $version $branch $user checkout
+ bash $selfpath $version $branch $user prepare-release-branch $fromBranch
+ #$selfpath $version $branch $user push
+ ;;
+
+ *)
+ if [ "$version" ] && [ ! -d $versiondir ]; then
+ echo -e "Version directory ('$versiondir') does not exist yet. Run 'clone' action first.\n"
+ fi
+ echo "Usage: ${self} <version> <branch-name> <user-name> <command> [<command-arguments>]"
+ echo ""
+ echo "Commands:"
+ echo " clone The first thing that needs to be done before anything else"
+ echo " Clones all platform repositories under directory <version>"
+ echo ""
+ echo "Inspection commands:"
+ echo " diff [args] Run git diff [args] for each platform repository"
+ echo " log [args] Run git log [args] for each platform repository"
+ echo " status [args] Run git status [args] for each platform repository"
+ echo " list-tags Run git tag -l for each repository"
+ echo ""
+ echo "Action:"
+ echo " add "
+ echo " branch Run git branch <branch-name> for each platform repository"
+ echo " checkout Run git checkout <branch-name> for each repository"
+ echo " commit "
+ echo " fetch Run git fetch --all for each repository"
+ echo " pull Run git pull --all for each repository"
+ echo " push Run git push origin <branch> for each repository"
+ echo " push-tags Run git push --tags for each repository"
+ echo " remove-tag Run git tag -d v<branch> for each repository"
+ echo " reset [args] Run git reset [args] for each repository"
+ echo " tag Run git checkout <branch> and"
+ echo " git tag -a v<branch> -m \"Simantics <branch> simultaneous release\""
+ echo " for each repository"
+ echo ""
+ echo "Compound release commands:"
+ echo " prepare-release-branch <from-branch>"
+ echo " <from-branch> the name of the branch that the codebase is currently on"
+ echo ""
+ echo "Top-level release commands:"
+ echo " bump-master-version <from-version> <to-version>"
+ echo " <from-version> the version string to replace"
+ echo " <to-version> the replacing new version string"
+ echo ""
+ echo " branch-release <from-branch>"
+ echo " <from-branch> the branch to create the service branch from"
+ echo " e.g. master or release/x.y.z"
+ echo ""
+ echo "Processed repositories:"
+ for (( i=0; i<${repositoryCount}; i++ )); do
+ repo p $i
+ msg $i "$p"
+ done
+
+;;