From fb7b3732c1bccdef8152f7572d4bf8747414ce13 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Thu, 23 Aug 2018 22:01:53 -0600 Subject: [PATCH] Upload hook that guides people towards AOSP. The canonical location of certain parts of the source tree live in AOSP, and should not be changed internally to avoid merge conflicts. This initially starts with "OWNERS" files, but the hook can easily be repeated to match any files based on file path regexes. Bug: 113136846 Test: manual Change-Id: I113e63b6133f20389d84ec0d6d8b81cdbdf35d38 --- PREUPLOAD.cfg | 2 ++ tools/aosp/aosp_sha.sh | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100755 tools/aosp/aosp_sha.sh diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg index fbbc2a3d9dc49..de83f3e010740 100644 --- a/PREUPLOAD.cfg +++ b/PREUPLOAD.cfg @@ -17,3 +17,5 @@ strings_lint_hook = ${REPO_ROOT}/frameworks/base/tools/stringslint/stringslint_s hidden_api_txt_hook = ${REPO_ROOT}/frameworks/base/tools/hiddenapi/checksorted_sha.sh ${PREUPLOAD_COMMIT} ${REPO_ROOT} ktlint_hook = ${REPO_ROOT}/prebuilts/ktlint/ktlint.py -f ${PREUPLOAD_FILES} + +owners_hook = ${REPO_ROOT}/frameworks/base/tools/aosp/aosp_sha.sh ${PREUPLOAD_COMMIT} "OWNERS$" diff --git a/tools/aosp/aosp_sha.sh b/tools/aosp/aosp_sha.sh new file mode 100755 index 0000000000000..29bf74c7a8b98 --- /dev/null +++ b/tools/aosp/aosp_sha.sh @@ -0,0 +1,18 @@ +#!/bin/bash +LOCAL_DIR="$( dirname ${BASH_SOURCE} )" + +if git branch -vv | grep "^*" | grep "\[aosp/master" > /dev/null; then + # Change appears to be in AOSP + exit 0 +else + # Change appears to be non-AOSP; search for files + git show --name-only --pretty=format: $1 | grep $2 | while read file; do + echo + echo -e "\033[0;31mThe source of truth for '$file' is in AOSP.\033[0m" + echo + echo "If your change contains no confidential details, please upload and merge" + echo "this change at https://android-review.googlesource.com/." + echo + exit 77 + done +fi