blob: 9e5da6bc5d19914b7a6c73200218babffcad8592 [file] [log] [blame]
Jake Whatley4e1248a2016-03-10 21:22:56 -05001#!/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#
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020017echo -e "Enter the AOSP ref to merge";
18read ref;
Humberto Borba7ea79de2016-12-07 20:19:29 -020019
micky387675aed62021-05-05 23:42:26 +020020echo -e "Do you want to merge it like squash ? type "yes" or "no" "
21read squash
22
23OPERATION="${squash}"
24
25branch_name=${ref}"-merge"
26
maxwen0b8f56b2023-10-07 15:32:48 +020027branch_current="android-14.0"
micky387675aed62021-05-05 23:42:26 +020028
Jake Whatley4e1248a2016-03-10 21:22:56 -050029cd ../../../
30
31while read path;
32 do
33
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020034 project=`echo android_${path} | sed -e 's/\//\_/g'`;
35 aosp_project=${path};
36 if [ "${path}" == "build" ] ; then
37 path="build/make";
Humberto Borba3429f952017-09-08 10:49:37 -030038 fi
Jake Whatley4e1248a2016-03-10 21:22:56 -050039
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020040 echo "";
41 echo "=====================================================================";
42 echo " PROJECT: ${project} -> [ ${path}/ ]";
43 echo "";
Jake Whatley4e1248a2016-03-10 21:22:56 -050044
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020045 rm -fr $path;
46 echo " -> repo sync ${path}";
47 ret=$(repo sync -d -f --force-sync ${path} 2>&1);
Jake Whatley4e1248a2016-03-10 21:22:56 -050048 cd $path;
49
micky387675aed62021-05-05 23:42:26 +020050 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
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020060 # make sure that environment is clean
61 ret=$(git merge --abort 2>&1);
Jake Whatley4e1248a2016-03-10 21:22:56 -050062
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020063 echo " -> Merging remote: https://android.googlesource.com/platform/$aosp_project ${ref}";
64 ret=$(git pull https://android.googlesource.com/platform/$aosp_project ${ref} 2>&1);
Jake Whatley4e1248a2016-03-10 21:22:56 -050065
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020066 if echo $ret | grep "CONFLICT (content)" > /dev/null ; then
Marko Man3dfc7d32019-06-03 22:33:47 +020067 echo -e " -> \e[33mWARNING!: \e[31mMERGE CONFLICT\e[0m";
micky387675aed62021-05-05 23:42:26 +020068 echo -e " -> please fix the merge conflict before push it.";
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020069 else
micky387675aed62021-05-05 23:42:26 +020070 if [[ "${OPERATION}" == "yes" ]]; then
71 echo " -> merging squashed commits into ${branch_current} branch";
72 ret=$(git checkout ${branch_current} 2>&1);
73 ret=$(git merge --squash ${branch_name} 2>&1);
74 ret=$(git add . 2>&1);
75 ret=$(git commit --no-edit 2>&1);
76 fi
Marko Man3dfc7d32019-06-03 22:33:47 +020077 echo -e " -> \e[32mDONE!\e[0m";
Jake Whatley4e1248a2016-03-10 21:22:56 -050078 fi
79
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020080 cd - > /dev/null;
Jake Whatley4e1248a2016-03-10 21:22:56 -050081
Humberto Borba5dc4c6e2018-02-03 00:34:23 -020082done < vendor/omni/utils/aosp-forked-list;