2014-06-18 58 views
0

我正在將工作副本轉換爲全部小寫字母。我有一個腳本,循環移動一個混合的案例位置到一個全部小寫的位置。我正在使用svn move --parent src dst在保留歷史記錄的同時將混合大小寫文件夾移動到全部小寫字母

這裏是我的整個腳本:

IFS=$'\n' 
cd /path/to/working/copy 

for SRC in `find . -iname '*.*' -depth | grep -v '.svn'` 

do 
     DST=$(echo "$SRC" | tr '[A-Z]' '[a-z]') 


     #get directory 
     OLD_DIRECTORY="${SRC%/*}" 
     NEW_DIRECTORY=$(echo "$OLD_DIRECTORY" | tr '[A-Z]' '[a-z]') 

     if [ "${SRC}" != "${DST}" ] 
     then 
       [ ! -e "${DST}" ] && svn move --parents "${SRC}" "${DST}" || echo "${SRC} was not renamed" 
     fi 
done 

到目前爲止,文件歷史似乎被保留。但是,文件夾歷史不是。

回答

0

這是我最終使用的。這將保留文件的歷史記錄,但不保存文件夾。

IFS=$'\n' 
cd opensol2 

for SRC in `find . -depth -type f | grep -v '.svn'` 

do 
     NEW_FILE=$(echo "$SRC" | tr '[A-Z]' '[a-z]') 

     if [ "${SRC}" != "${NEW_FILE}" ] 
     then 
       [ ! -e "${NEW_FILE}" ] && svn move --parents "${SRC}" "${NEW_FILE}" || echo "${SRC} was not renamed" 
     fi 
done 
相關問題