将混合案例文件夹移动到所有小写,同时保留历史记录

时间:2014-06-18 15:37:58

标签: svn

我将工作副本转换为全部小写。我有一个循环并将混合大小写位置移动到全小写位置的脚本。我使用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

到目前为止,文件历史似乎仍然存在。但是,文件夹历史记录不是。

1 个答案:

答案 0 :(得分: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