Как переключить папку в symlink в svn
У меня была папка, которая была частью одного проекта в svn, который был перемещен в другую папку/репозиторий для совместного использования между проектами. Я хочу заменить этот каталог в svn w/symlink, но когда я попытаюсь это сделать, я получаю это сообщение:
svn: Entry '/project/wwwdocs/js' has unexpectedly changed special status
как заменить этот каталог символической ссылкой?
Ответы
Ответ 1
Чтобы подрывная деятельность забирала изменения и обнаруживала символическую ссылку, вам нужно сначала удалить исходный файл, зафиксировать удаление и затем обновить репозиторий. После этого вы сможете добавить символическую ссылку без каких-либо проблем.
РЕДАКТИРОВАТЬ: Этот вопрос, кажется, был задан раньше и получил некоторые приличные отзывы. Проверьте это: Фиксировать символическую ссылку в подрывную деятельность
Ответ 2
Следующее задает специальное свойство на каждой символической ссылке и удаляет его в обычных файлах/каталогах. Существуют различные способы определения файлов для работы.
svn_special_files=`svn propget --recursive svn:special | cut -d' ' -f1`
for i in `find . | grep -v "\.svn" | cut -d'/' -f2-`; do
is_special=false
for j in $svn_special_files; do
if [ "$j" = "$i" ]; then
is_special=true;
break;
fi
done
if [ -h $i ] ; then
! $is_special && svn propset svn:special '*' $i
else
$is_special && svn propdel svn:special $i
fi
done
Ответ 3
Вы даже можете попробовать простой ответ об удалении файла culprit -
svn remove --force <file>
Это особенно полезно для пользователей Windows, использующих SVN cli.
Ответ 4
Вы можете выполнить команду для устранения этой проблемы.
svn propset svn:special on /project/wwwdocs/js