pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # Copyright OmniROM Project |
| 3 | # Licensed under GPLv3 |
| 4 | |
| 5 | # Configuration |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 6 | PREFIX=android_ |
Humberto Borba | 7ea79de | 2016-12-07 20:19:29 -0200 | [diff] [blame] | 7 | BRANCH=android-7.1 |
| 8 | SOURCE=android-7.1.1_r<INSERT_CORRECT_TAG> |
maxwen | 95841aa | 2016-03-08 23:43:18 +0100 | [diff] [blame] | 9 | USERNAME=<INSERT USER> |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 10 | MANIFEST=android/default.xml |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 11 | GITHUB_ORG=omnirom |
maxwen | 95841aa | 2016-03-08 23:43:18 +0100 | [diff] [blame] | 12 | GERRIT_REMOTE=ssh://$USERNAME@gerrit.omnirom.org:29418 |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 13 | REMOTE_MANIFEST=omnirom |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 14 | |
| 15 | # Script |
| 16 | if [ $# -lt 1 ]; then |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 17 | echo Usage: ./fork_aosp.sh path |
| 18 | echo Example: ./fork_aosp.sh frameworks/base |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 19 | exit 1 |
| 20 | fi |
| 21 | |
| 22 | REPO_NAME=$PREFIX$(echo ${1%/} | sed -e "s/\//_/g") |
| 23 | |
| 24 | # Check that folder is a git repo |
| 25 | pushd $1 |
| 26 | if [ ! -d .git ]; then |
| 27 | echo "$1 doesn't appear to be a git repository" |
| 28 | popd |
| 29 | exit 1 |
| 30 | fi |
| 31 | popd |
| 32 | |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 33 | # Create the repo at github |
| 34 | echo "Creating $REPO_NAME on GitHub..." |
| 35 | curl --user $USERNAME --data "{\"name\":\"$REPO_NAME\"}" https://api.github.com/orgs/$GITHUB_ORG/repos |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 36 | |
| 37 | # Only works if you are a gerrit admin, will create the named project before pushing (gerrit then replicates to git) |
maxwen | 3327f8d | 2016-10-06 23:59:02 +0200 | [diff] [blame] | 38 | ssh -p 29418 $USERNAME@gerrit.omnirom.org gerrit create-project $REPO_NAME |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 39 | |
| 40 | echo "Creating branch $BRANCH..." |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 41 | pushd $1 |
| 42 | git remote rm gerrit |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 43 | git remote add gerrit $GERRIT_REMOTE/$REPO_NAME |
| 44 | git checkout $SOURCE |
| 45 | git branch $BRANCH |
| 46 | git push gerrit $BRANCH |
| 47 | |
| 48 | echo "Updating manifest..." |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 49 | popd |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 50 | SRC_LINE=$(cat $MANIFEST | grep ${1%/} | head -n1) |
| 51 | if [[ "$SRC_LINE" == *group="pdk"* ]]; then |
| 52 | NEW_LINE=" <project path=\"${1%/}\" name=\"$REPO_NAME\" remote=\"$REMOTE_MANIFEST\" revision=\"$BRANCH\" group=\"pdk\" />" |
| 53 | else |
| 54 | NEW_LINE=" <project path=\"${1%/}\" name=\"$REPO_NAME\" remote=\"$REMOTE_MANIFEST\" revision=\"$BRANCH\" />" |
| 55 | fi |
| 56 | |
| 57 | # Update the repo in manifest listing |
| 58 | |
| 59 | sed -i "s%$SRC_LINE%$NEW_LINE%g" $MANIFEST |
| 60 | |
| 61 | echo "Pushing manifest" |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 62 | pushd android |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 63 | git checkout $BRANCH |
| 64 | git commit -a -m "Replace $1 path to new repository $REPO_NAME" |
| 65 | git push $GERRIT_REMOTE/android HEAD:refs/for/$BRANCH |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 66 | popd |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 67 | |
| 68 | echo "Now remember to approve the change on gerrit before going further!" |
| 69 | read -p "Press [Enter] key once you've approved the change on gerrit" |
| 70 | |
| 71 | echo "Remember to repo sync before use!" |