ota脚本制作file资源查分支持 文件名带空格 91/1 91/head 92/target/1 93/target/1
authorSnickerSun <snickersun@163.com>
Fri, 26 Apr 2024 01:48:03 +0000 (09:48 +0800)
committerSnickerSun <snickersun@163.com>
Fri, 26 Apr 2024 01:48:03 +0000 (09:48 +0800)
gen_fs_otapkg.sh

index ad542b4..4267f22 100644 (file)
@@ -28,7 +28,65 @@ echo get diff $OLDVERSION ... $NEWVERSION to $TMPDIR
 
 BACKUPDIR_HOME=$HOMEDIR/../PATCHES/$(basename $HOMEDIR)_FSOTA_${DATE}
 
+list_rename_file_source_name()
+{
+version1=$1
+version2=$2
+folder=$3
+git diff -z --diff-filter=R --name-status $version1 $version2 $folder |xargs -0 sh -c -a 'x=0; for file; do 
+if [ "$x" = "1" ] 
+then
+ echo \"$file\"\ 
+fi
+ x=$(($x+1))
+# echo $x
+if [ "$x" = "3" ] 
+then 
+ x=0 
+fi
+done' sh | awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }'
+
+}
+list_rename_file_target_name()
+{
+version1=$1
+version2=$2
+folder=$3
+git diff -z --diff-filter=R --name-status $version1 $version2 $folder |xargs -0 sh -c -a 'x=0; for file; do 
+if [ "$x" = "2" ] 
+then
+ echo \"$file\"\ 
+fi
+ x=$(($x+1))
+# echo $x
+if [ "$x" = "3" ] 
+then 
+ x=0 
+fi
+done' sh | awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }'
 
+}
+
+list_added_and_modified_file_name()
+{
+version1=$1
+version2=$2
+folder=$3
+git diff -z --diff-filter=ACM --name-only $version1 $version2 $folder |xargs -0 sh -c -a 'x=0; for file; do 
+echo \"$file\"\ 
+done' sh| awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }'
+
+}
+list_deleted_file_name()
+{
+version1=$1
+version2=$2
+folder=$3
+git diff -z --diff-filter=D --name-only $version1 $version2 $folder |xargs -0 sh -c -a 'x=0; for file; do 
+echo \"$file\"\ 
+done' sh | awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }'
+
+}
 genpatch() {
 tmpfile_changelist=$TMPDIR/changelist.txt
 tmpfile_removedfiles=$TMPDIR/deletedfiles.txt
@@ -49,12 +107,15 @@ if [ "$count" == "0" ] ; then
        echo $TARGETDIR no change
 else
        echo ${OLDVERSION}...${NEWVERSION} >$tmpfile_git_commit_file 
-       # echo $PWD
-       # echo "git diff ${OLDVERSION}...${NEWVERSION} --name-only --diff-filter=ACMR . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,\"\") ;print \$0 }' > $tmpfile_modified_or_new_files"
-       git diff ${OLDVERSION}...${NEWVERSION} --name-only --diff-filter=ACMR . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' > $tmpfile_modified_or_new_files
-       # echo "git diff ${OLDVERSION}...${NEWVERSION} --name-only --diff-filter=D . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,\"\") ;print \$0 }' > $tmpfile_removedfiles"
-       git diff ${OLDVERSION}...${NEWVERSION} --name-only --diff-filter=D . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' > $tmpfile_removedfiles
 
+
+       # git diff -z ${OLDVERSION}...${NEWVERSION} --name-only --diff-filter=ACMR . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' > $tmpfile_modified_or_new_files
+       # git diff -z ${OLDVERSION}...${NEWVERSION} --name-only --diff-filter=D . |awk '{gsub(/code\/sdk\/build\/config\/target_config\/brandy\/mk_fs_image\/fd230\//,"") ;print $0 }' > $tmpfile_removedfiles
+       list_added_and_modified_file_name ${OLDVERSION} ${NEWVERSION} . > $tmpfile_modified_or_new_files
+       list_rename_file_target_name ${OLDVERSION} ${NEWVERSION} . >> $tmpfile_modified_or_new_files
+       list_deleted_file_name ${OLDVERSION} ${NEWVERSION} . > $tmpfile_removedfiles
+       list_rename_file_source_name ${OLDVERSION} ${NEWVERSION} . >> $tmpfile_removedfiles
+       
        mkdir -p $BACKUPDIR
        mkdir -p $BACKUPDIR_DIFF
        mv $tmpfile_git_commit_file $BACKUPDIR_DIFF