53 lines
1.4 KiB
Bash
Executable File
53 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# -x
|
|
|
|
FFMPEG_DIR="$(dirname "${BASH_SOURCE[0]}" )"
|
|
RUN_DIR="$(pwd)"
|
|
SAVE_DIR="$FFMPEG_DIR/.typo_check"
|
|
|
|
#ffmpeg last commit id
|
|
LAST_COMMIT_ID=$(git log -1 | sed -n '1p' |awk '{print $2}' )
|
|
|
|
#ffmpeg 4.4 orignal source code commit id (unmodified by amlogic)
|
|
BASE_COMMIT_ID=$(git log |grep "add ffmpeg4.4" -B 4 | sed -n '1p' |awk '{print $2}')
|
|
BASE_COMMIT_MSG=$(git log -1 $BASE_COMMIT_ID --raw )
|
|
|
|
#files modified by amlogic
|
|
MODIFIED_FILES=$(git diff --name-status $BASE_COMMIT_ID $LAST_COMMIT_ID |grep "^[MA]" | awk '{print $2}' ) #|sort -n |uniq -d
|
|
|
|
function init() {
|
|
rm -rf "$SAVE_DIR"
|
|
sync
|
|
mkdir -p "$SAVE_DIR"
|
|
}
|
|
|
|
function is_base_added() {
|
|
modified_file=$1
|
|
base_added=$(echo $BASE_COMMIT_MSG |grep "$modified_file" |wc -l)
|
|
if [ $((base_added)) -gt 0 ]; then
|
|
return 1
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
function get_first_commit_for_file() {
|
|
target_file=$1
|
|
is_base_added $target_file
|
|
if [ $((base_added)) -eq 1 ]; then
|
|
echo $BASE_COMMIT_ID
|
|
else
|
|
echo "$(git log --oneline $target_file |sed -n '$p' |awk '{print $1}')"
|
|
fi
|
|
}
|
|
|
|
init
|
|
for file in $MODIFIED_FILES
|
|
do
|
|
first_commit="$(get_first_commit_for_file $file)"
|
|
diff_content=$(git diff $first_commit:$file $LAST_COMMIT_ID:$file)
|
|
if [ $(($?)) -eq 0 ]; then
|
|
#echo "ID:"$first_commit" -- "$file
|
|
echo "$diff_content" > $SAVE_DIR/$(echo $file |sed 's/\//_/g')".diff"
|
|
fi
|
|
done
|