SVN: чистый способ заменить внешнюю локальную папку с тем же именем - PullRequest
6 голосов
/ 13 января 2011

У меня есть хранилище, проверенное в разных местах.У меня есть папка X, которая является внешней по отношению к другому хранилищу.Я хочу, чтобы Х был локальным.Есть и другие вопросы, но они, похоже, не сталкивались с моими трудностями.

Я отредактировал svn: externals и удалил эту строку.Затем я совершил репо.Затем я взял папку, удалил все записи .svn в ней (чтобы сделать ее обычной папкой) и svn add отредактировал ее, затем подтвердил.Это работало нормально.

Однако, когда я обновил еще одну проверку репо, я столкнулся с проблемами.Первая ошибка была что-то вроде:

UUID mismatch: existing directory XXX was checked out from a different repository.

Хорошо, уже svn up не удается, но я пытаюсь удалить папку и повторно обновить.Теперь он управляет повторным получением всего содержимого, но теперь я получаю новую ошибку:

Can't remove file XXX: Access is denied

Я пытаюсь обновить снова, и ничего не происходит.Я удаляю файл в этой папке и обновляю снова из корня, ничего не происходит.Я удаляю папку X, и ничего не происходит - так что, кажется, просто забыл об этом!Единственный выход - удалить корневой каталог X и восстановить svn up с уровня вниз (поскольку все это также происходило в подпапке, которая также была внешней).

Не хорошоЯ не хочу делать какую-либо ручную ригамароль на всех сайтах, где этот репозиторий проверен.Что делать?

Ответы [ 2 ]

3 голосов
/ 30 января 2012

Возможно не самое чистое решение, но оно работает:

  • Удалите внешнюю папку из вашей локальной копии (НЕ используйте папку svn rm)
  • Обновление с версией из репозитория
0 голосов
/ 13 января 2011

Не уверен, что это сработает, но стоит попробовать.

Попробуйте обновить до ревизии, в которой вы удалили внешние компоненты, после этого сделайте обновление до головы.

// XX revision of the externals deletion
svn update -rXX 
// to see if the folder is deleted
svn status
// delete the folder if he is on the local working copy
svn rm folder
// Update to head
svn update
...