summaryrefslogtreecommitdiff
path: root/tools/aosp/aosp_sha.sh
blob: 81d35efaf29f98519bd6432459983c6f171dc56e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
LOCAL_DIR="$( dirname "${BASH_SOURCE}" )"

if git branch -vv | grep -q -P "^\*[^\[]+\[aosp/"; then
    # Change appears to be in AOSP
    exit 0
elif git log -n 1 --format='%B' $1 | grep -q -E "^Ignore-AOSP-First: .+" ; then
    # Change is explicitly marked as ok to skip AOSP
    exit 0
else
    # Change appears to be non-AOSP; search for files
    count=0
    while read -r file ; do
        if (( count == 0 )); then
            echo
        fi
        echo -e "\033[0;31;47mThe source of truth for '$file' is in AOSP.\033[0m"
        (( count++ ))
    done < <(git show --name-only --pretty=format: $1 | grep -- "$2")
    if (( count != 0 )); then
        echo
        echo "If your change contains no confidential details (such as security fixes), please"
        echo "upload and merge this change at https://android-review.googlesource.com/."
        echo
        exit 1
    fi
fi