Brian O'Connor

Adding onos-edit-config script

Change-Id: I8c02cc7f98c592bb5ce4d9597eb3aac1757c666b
1 +#!/bin/bash
2 +
3 +GERRIT_USER=${GERRIT_USER:-$USER}
4 +GERRIT_PROJECT=${GERRIT_PROJECT:-onos}
5 +
6 +function setup() {
7 + DIR=$(mktemp -d /tmp/$GERRIT_PROJECT-config.XXXXX) || { echo "Failed to create temp file"; exit 1; }
8 + cd $DIR
9 + git init
10 + git remote add origin ssh://$GERRIT_USER@gerrit.onosproject.org:29418/$GERRIT_PROJECT
11 + git fetch origin refs/meta/config:refs/remotes/origin/meta/config
12 + git checkout meta/config
13 +}
14 +
15 +function cleanup() {
16 + # clean up the directory
17 + rm -rf $OUT
18 +}
19 +
20 +setup
21 +case $1 in
22 + block)
23 + sed -i '' "s/submit = group/submit = block group/g" project.config
24 + git diff
25 + git commit -am"Blocking submit for all users in project"
26 + git push origin HEAD:refs/meta/config
27 + ;;
28 + unblock)
29 + echo unblock
30 + sed -i '' "s/submit = block group/submit = group/g" project.config
31 + git diff
32 + git commit -am"Unblocking submit for all users in project"
33 + git push origin HEAD:refs/meta/config
34 + ;;
35 + edit)
36 + echo
37 + echo "Make your changes now."
38 + echo "To push changes, commit them and exit with 0"
39 + echo "To abandon changes, do not commit or exit with non-zero value"
40 + bash -i && git push origin HEAD:refs/meta/config || echo "ABANDONED CHANGES"
41 + ;;
42 + *)
43 + echo
44 + echo "USAGE: onos-edit-config <option>"
45 + echo " block: blocks submits for all users in the project"
46 + echo " unblock: unblocks submits for all users in the project"
47 + echo " edit: allows you to make arbitrary changes to project config"
48 +esac
49 +cleanup