blob: 1a8a71374df34bcd583d306b61948f8f197c6b84 [file] [log] [blame]
maxwenfcca0352024-02-07 15:25:27 +01001#!/bin/bash
2#
3# Copyright (C) 2016 OmniROM Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17echo -e "Enter the AOSP ref to merge";
18read ref;
19
20echo -e "Do you want to merge it like squash ? type "yes" or "no" "
21read squash
22
23OPERATION="${squash}"
24
25branch_name=${ref}"-merge"
26
27branch_current="android-14.0"
28
29cd ../../../
30
31while read path;
32 do
33
34 project=`echo android_${path} | sed -e 's/\//\_/g'`;
35 aosp_project=${path};
36 if [ "${path}" == "build" ] ; then
37 path="build/make";
38 fi
39
40 echo "";
41 echo "=====================================================================";
42 echo " PROJECT: ${project} -> [ ${path}/ ]";
43 echo "";
44
45 rm -fr $path;
46 echo " -> repo sync ${path}";
47 ret=$(repo sync -d -f --force-sync ${path} 2>&1);
48 cd $path;
49
50 if [[ "${OPERATION}" == "yes" ]]; then
51 if git branch | grep ${branch_name} > /dev/null; then
52 git branch -D ${branch_name} > /dev/null
53 fi
54
55 echo " -> creating branch ${branch_name}";
56 ret=$(git checkout -b ${branch_name} 2>&1);
57 ret=$(repo start ${branch_name});
58 fi
59
60 # make sure that environment is clean
61 ret=$(git merge --abort 2>&1);
62
micky3871d0b1c12024-03-13 18:25:46 -040063 if [ "${path}" == "hardware/google/pixel-sepolicy" ] ; then
64 echo " -> Merging remote: https://android.googlesource.com/platform/$aosp_project ${ref}";
65 ret=$(git pull https://android.googlesource.com/platform/$aosp_project ${ref} 2>&1);
66 else
67 echo " -> Merging remote: https://android.googlesource.com/$aosp_project ${ref}";
68 ret=$(git pull https://android.googlesource.com/$aosp_project ${ref} 2>&1);
69 fi
maxwenfcca0352024-02-07 15:25:27 +010070
71 if echo $ret | grep "CONFLICT (content)" > /dev/null ; then
72 echo -e " -> \e[33mWARNING!: \e[31mMERGE CONFLICT\e[0m";
73 echo -e " -> please fix the merge conflict before push it.";
74 else
75 if [[ "${OPERATION}" == "yes" ]]; then
76 echo " -> merging squashed commits into ${branch_current} branch";
77 ret=$(git checkout ${branch_current} 2>&1);
78 ret=$(git merge --squash ${branch_name} 2>&1);
79 ret=$(git add . 2>&1);
80 ret=$(git commit --no-edit 2>&1);
81 fi
82 echo -e " -> \e[32mDONE!\e[0m";
83 fi
84
85 cd - > /dev/null;
86
87done < vendor/omni/utils/pixel-forked-list;