+Instead of doing this clone+branch+push sequence for every SDK repository separately,
+please use the included `release-helper.sh` shell script to perform this mechanical work. The script supports many useful basic git commands which all perform the requested operation on all the release train repositories. The operations can be seen from the help text printed by the script when given no arguments:
+
+ Usage: release-helper.sh <version> <branch-name> <user-name> clone|branch|checkout|fetch|list-tags|pull|push|push-tags|remove-tag|status|tag
+
+Always begin by cloning all the repositories for working on
+
+ ./release-helper.sh x.y.z release/x.y.z your-git-username clone
+
+This will create a directory called `x.y.z` under the current working directory and clone all the repositories under it. The first `<version>` argument is only used for the base working directory `x.y.z`. The second `<branch-name>` argument tells what branch to specify to the action, i.e. `branch`, `checkout`, etc.
+
+Branching and pushing the branches to remote happens as follows:
+
+ ./release-helper.sh x.y.z release/x.y.z your-git-username branch
+ ./release-helper.sh x.y.z release/x.y.z your-git-username checkout
+ ./release-helper.sh x.y.z release/x.y.z your-git-username push
+
+If you're creating a service release `x.y.w` from `x.y.z` where `w > z`, do this:
+
+ ./release-helper.sh x.y.w release/x.y.z your-git-username clone
+ ./release-helper.sh x.y.w release/x.y.z your-git-username checkout
+ ./release-helper.sh x.y.w release/x.y.w your-git-username branch
+ ./release-helper.sh x.y.w release/x.y.w your-git-username checkout
+ # Perhaps make modifications to the branch here and commit to each project separately
+ ./release-helper.sh x.y.w release/x.y.w your-git-username push
+