blob: 216815b4aab2b116bc9e32493e8988b98edbba2e [file] [log] [blame]
#!/bin/bash
set -e
#currentVersion=android-8.0.0_r36
#currentVersion=android-8.1.0_r22
currentVersion=android-9.0.0_r12
baseDir=`dirname $0`/..
frameworksBaseRepoDir="$HOME/Dev/AOSP/frameworks/base"
function showDiffs2() {
file="$1"
line="$2"
x=$(echo "$line" | sed -e 's/.*https:\/\/android.googlesource.com\/\([^ ]*\)\/[+]\/\([^/]*\)\/\([^ ]*\).*/\1 \2 \3/')
IFS=" " read -a parts <<< "$x"
repo="${parts[0]}"
version="${parts[1]}"
repoFile="${parts[2]}"
curSha=$(cd "$frameworksBaseRepoDir" && git rev-parse --verify "$currentVersion") || true
if [[ -z "$curSha" ]]; then
echo "Unknown $currentVersion!"
exit 1
fi
thisSha=$(cd "$frameworksBaseRepoDir" && git rev-parse --verify "$version") || true
if [[ -z "$thisSha" ]]; then
echo "Unknown $version!"
return
fi
if [ "x$curSha" != "x$thisSha" ]; then
(cd "$frameworksBaseRepoDir" && git diff --quiet "${version}..${currentVersion}" "--" "$repoFile")
if [ $? -eq 0 ]; then
echo "No changes in: $file"
echo " From $repoFile $version -> $currentVersion"
else
tmpFile="/tmp/diff.tmp"
rm -f "$tmpFile"
echo "Apply changes to: $file" > "$tmpFile"
echo " From $repoFile $version -> $currentVersion" >> "$tmpFile"
(cd "$frameworksBaseRepoDir" && git diff --color=always "${version}..${currentVersion}" "--" "$repoFile" >> "$tmpFile")
less -r "$tmpFile"
fi
fi
}
function showDiffs() {
file="$1"
grep -E 'https?:\/\/(android\.googlesource\.com|.*\.git\.corp\.google\.com)\/' "$file" | \
while read -r line ; do
showDiffs2 "$file" "$line"
done
}
files=$*
if [ -z "$files" ]; then
find . -name "*.java" -print0 | while read -d $'\0' file; do
showDiffs "$file"
done
else
for file in "$files"; do
showDiffs "$file"
done
fi