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