как переключить папку на символическую ссылку в SVN - PullRequest
14 голосов
/ 15 марта 2011

У меня была папка, которая была частью одного проекта в SVN, которая была перемещена в другую папку / хранилище для совместного использования между проектами.я хочу заменить этот каталог в svn с символической ссылкой, но когда я пытаюсь это сделать, я получаю следующее сообщение:

svn: Entry '/project/wwwdocs/js' has unexpectedly changed special status

как я могу заменить этот каталог символической ссылкой?

Ответы [ 4 ]

17 голосов
/ 01 сентября 2011

Следующее устанавливает специальное свойство для каждой символической ссылки и удаляет его в обычных файлах / каталогах. Существуют различные способы определения файлов для работы.

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
15 голосов
/ 15 марта 2011

Чтобы Subversion мог подобрать изменения и обнаружить символическую ссылку, вам необходимо сначала удалить исходный файл, зафиксировать удаление, а затем обновить свой репозиторий.После этого вы сможете добавить символическую ссылку без каких-либо проблем.

РЕДАКТИРОВАТЬ: Этот вопрос, кажется, был задан ранее и получил достойный отзыв.Проверьте это: Передайте символическую ссылку в Subversion

1 голос
/ 30 июня 2015

Вы даже можете попробовать простой ответ удаления файла виновника -

svn remove --force <file>

Это особенно полезно для пользователей Windows, использующих SVN cli.

0 голосов
/ 18 октября 2017

Вы можете выполнить команду удара, чтобы решить эту проблему.

svn propset svn:special on /project/wwwdocs/js
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...