Marko Man | 16f0326 | 2017-12-12 13:02:56 +0100 | [diff] [blame] | 1 | #!/bin/bash |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 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_ |
maxwen | 0b8f56b | 2023-10-07 15:32:48 +0200 | [diff] [blame^] | 7 | BRANCH=android-14.0 |
| 8 | SOURCE=android-14.0.0_r<INSERT_CORRECT_TAG> |
maxwen | 95841aa | 2016-03-08 23:43:18 +0100 | [diff] [blame] | 9 | USERNAME=<INSERT USER> |
Vachounet | 4842681 | 2020-10-23 18:26:07 +0200 | [diff] [blame] | 10 | TOKEN=<INSERT TOKEN> |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 11 | MANIFEST=android/default.xml |
Marko Man | 16f0326 | 2017-12-12 13:02:56 +0100 | [diff] [blame] | 12 | REMOVE=android/remove.xml |
| 13 | FORKED=android/omni-aosp.xml |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 14 | GITHUB_ORG=omnirom |
maxwen | 95841aa | 2016-03-08 23:43:18 +0100 | [diff] [blame] | 15 | GERRIT_REMOTE=ssh://$USERNAME@gerrit.omnirom.org:29418 |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 16 | REMOTE_MANIFEST=omnirom |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 17 | |
| 18 | # Script |
| 19 | if [ $# -lt 1 ]; then |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 20 | echo Usage: ./fork_aosp.sh path |
| 21 | echo Example: ./fork_aosp.sh frameworks/base |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 22 | exit 1 |
| 23 | fi |
| 24 | |
| 25 | REPO_NAME=$PREFIX$(echo ${1%/} | sed -e "s/\//_/g") |
| 26 | |
| 27 | # Check that folder is a git repo |
| 28 | pushd $1 |
| 29 | if [ ! -d .git ]; then |
| 30 | echo "$1 doesn't appear to be a git repository" |
| 31 | popd |
| 32 | exit 1 |
| 33 | fi |
| 34 | popd |
| 35 | |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 36 | # Create the repo at github |
| 37 | echo "Creating $REPO_NAME on GitHub..." |
Vachounet | 4842681 | 2020-10-23 18:26:07 +0200 | [diff] [blame] | 38 | curl -H 'Authorization: token '$TOKEN'' --data "{\"name\":\"$REPO_NAME\"}" https://api.github.com/orgs/$GITHUB_ORG/repos |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 39 | |
| 40 | # 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] | 41 | ssh -p 29418 $USERNAME@gerrit.omnirom.org gerrit create-project $REPO_NAME |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 42 | |
| 43 | echo "Creating branch $BRANCH..." |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 44 | pushd $1 |
| 45 | git remote rm gerrit |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 46 | git remote add gerrit $GERRIT_REMOTE/$REPO_NAME |
| 47 | git checkout $SOURCE |
| 48 | git branch $BRANCH |
| 49 | git push gerrit $BRANCH |
| 50 | |
| 51 | echo "Updating manifest..." |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 52 | popd |
Marko Man | 16f0326 | 2017-12-12 13:02:56 +0100 | [diff] [blame] | 53 | REMOVE_OLD="\ \<remove-project name=platform/${1} />" |
| 54 | INSERT_NEW="\ \<project path=\"${1%/}\" name=\"$REPO_NAME\" remote=\"$REMOTE_MANIFEST\" revision=\"$BRANCH\" />" |
| 55 | sed -i "$ i$REMOVE_OLD" $REMOVE |
| 56 | sed -i "$ i$INSERT_NEW" $FORKED |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 57 | |
| 58 | echo "Pushing manifest" |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 59 | pushd android |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 60 | git checkout $BRANCH |
| 61 | git commit -a -m "Replace $1 path to new repository $REPO_NAME" |
| 62 | git push $GERRIT_REMOTE/android HEAD:refs/for/$BRANCH |
XpLoDWilD | 0cb714a | 2014-01-05 15:37:48 +0100 | [diff] [blame] | 63 | popd |
pulser | 73f4359 | 2013-09-13 00:09:35 +0200 | [diff] [blame] | 64 | |
| 65 | echo "Now remember to approve the change on gerrit before going further!" |
| 66 | read -p "Press [Enter] key once you've approved the change on gerrit" |
| 67 | |
| 68 | echo "Remember to repo sync before use!" |