blob: 4833a2ecd8bb42a0eedf0db522b9ce0fa129109a [file] [log] [blame]
kelvin.zhang2219b412022-03-04 16:44:41 +08001#!/bin/bash
2#
3# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
4#
5# SPDX-License-Identifier: MIT
6#
7
8if [ -n "$GIT_CHERRY_PICK" ]; then
9 [ -z "$CURRENT_MANIFEST_FILE" ] && CURRENT_MANIFEST_FILE="manifest.xml"
10 [ ! -f $CURRENT_MANIFEST_FILE ] && repo manifest -r -o $CURRENT_MANIFEST_FILE
11
12 echo "$GIT_CHERRY_PICK" | while read line
13 do
14 pattern=":29418/"
15 for keyword in $line; do
16 if [[ $keyword == *$pattern* ]]; then
17 GIT_PROJECT=`echo ${keyword#*${pattern}} | sed 's/\"//g' | sed 's/\/>//g'`
18 break;
19 fi
20 done
21
22 echo -e "\n======== Applying manual patch on Project $GIT_PROJECT ========"
23 keyline=`grep "name=\"$GIT_PROJECT\"" $CURRENT_MANIFEST_FILE`
24
25 for keyword in $keyline; do
26 if [[ $keyword == path=* ]]; then
27 repo_path=`echo ${keyword#*path=} | sed 's/\"//g'`
28 break;
29 fi
30 done
31
32 if [ -d "$repo_path" ]; then
33 pushd $repo_path > /dev/null
34 cmd=`echo $line | sed -e 's/ssh:\/\/.*@scgit.amlogic.com/ssh:\/\/scgit.amlogic.com/'`
35 eval $cmd
36 if [ "$?" -ne 0 ]; then
37 echo -e "========= Applying patch failed! =========\n"
38 exit 1
39 fi
40 popd > /dev/null
41 else
42 echo "No such directory! $repo_path"
43 exit 1
44 fi
45 echo -e "======== Done ========\n"
46 done
47fi