Ошибка SVN-не рабочая копия
недавно наш сервер svn был изменен, и мы сделали переключатель svn.
поскольку рабочая копия имела огромное количество неверсионных ресурсов, рабочая копия была заблокирована, и мы начали переключать папку по папке для всех папок под svn, что отлично работает.
но на самом верхнем уровне репозитория, когда я пытаюсь обновить файлы, я получаю svn: рабочая копия '.- заперто ошибка и очистка тоже не помогает. Когда я делаю уборку, я получаю такие ошибки -svn: 'content' не является каталогом рабочей копии
свежая проверка не является вариантом вообще. Есть ли какие-либо другие способы очистки и освобождения замков и полностью переключиться ?
EDIT:
Последний абзац в ответе Джеспера
Если вы получаете "не рабочую копию", когда
выполнение рекурсивной "очистки svn" my
думаю, что у вас есть каталог
которая должна быть рабочей копией (т. е.
этот .каталог svn на верхнем уровне
говорит так), но ему не хватает своего
.каталог СВН. В таком случае, вы
может попытаться просто удалить / переместить это
каталог, а затем сделать локальное обновление
кажется, решение проблемы в репозитории. Я определил эти папки и сделал новую проверку этих конкретных папок в одиночку и ничего себе, замки освобождаются в последующей очистке! Большое спасибо Джеспер !!
но, я все еще не могу понять svn ошибка переключения, которая теперь читает что-то вроде,
svn: репозиторий на
'svn:/ / repourl / reponame/foldername'
имеет идентификатор UUID 'м/reponame, но в туалет
есть b5b39681-0ff6-размер на 784 б-ad26-2846b9ea8e7d'
какие идеи ?
20 ответов:
если вы получаете "не рабочую копию" при выполнении рекурсивного
svn cleanupЯ думаю, что у вас есть каталог, который должен быть рабочей копии (т. е..svnкаталог на верхнем уровне говорит так), но он отсутствует свой собственный
Я попал в аналогичную ситуацию (
svn: 'papers' is not a working copy directory) по-другому, поэтому я подумал, что опубликую свою историю битвы (упрощенную):$ svn add papers svn: Can't create directory 'papers/.svn': Permission deniedУпс! исправить разрешения... затем:
$ svn add papers svn: warning: 'papers' is already under version control $ svn st ~ papers $ svn cleanup svn: 'papers' is not a working copy directoryи даже
papersи под управлениемsvn up(который работал для OP) не исправил это. Вот что я сделал:$ mv papers papers_ $ svn cleanup $ svn revert papers Reverted 'papers' $ mv papers_/ papers $ svn add papersэто сработало.
Я решил это с помощью
- скопируйте резервную копию затронутых папок
- SVN вернуть затронутые папки
- вставить файлы обратно из резервной копии
в моем случае проблема была связана с удалением .svn-файлы.
может быть, вы просто скопировали дерево папки и пытаетесь добавить самый низкий.
SVN |_ | subfolder1 | subfolder2 (here you get an error)в этом случае вы должны зафиксировать каталог на верхнем уровне.
решение: Переименовать каталог, который не является "рабочей копией" Проверка / обновление / восстановление этого каталога снова Перемещение файлов из переименованного каталога в новый Зафиксировать изменения
причина: Вы внесли некоторые изменения в некоторые файлы .каталог svn, это разрывает "рабочую копию"
Я просто получил "не рабочую копию", и для меня причиной был Automouter на Unix. Просто свежий "cd /path/to/work/directory" сделал трюк.
Если вы создали файл в новую папку, а не 'SVN добавить новый_каталог/файл "использовать" SVN добавить newdir все нормально, потому что нужно добавить в каталог. Все файлы внутри каталога будут добавлены по умолчанию.
то же самое, мне нужно было обновить папку "contrib":
- переместил старую папку,
- скопировал новый
- скопировал .папки svn в каждую (только три в моем случае) новую папку.
в моем случае тоже проблема была из-за удаления .папки svn.
решена.
вот что я сделал:
- переименовать ствол в trunk_
- создать новую папку trunk
- повторная проверка и прерывание процесса после того, как несколько файлов извлечены
- переместить файлы из trunk_ в trunk
- Do svn cleanup
- сделать обновление svn. Это позволит обновить статус файлов, а затем все ваши файлы будут версионными.
Я также встречаю эту проблему в операции svn diff, это было вызвано неправильным путем к файлу, вы должны добавить
'./'для указания текущего каталога файлов.
СВН: репозиторий в SVN, в://repourl/reponame/имя_папки' имеет идентификатор UUID 'м/reponame, но туалет есть b5b39681-0ff6-размер на 784 б-ad26-2846b9ea8e7d'
каждое РЕПО subversion имеет уникальный идентификатор (uuid). Subversion использует это, чтобы убедиться, что РЕПО на самом деле то же самое при выполнении таких вещей, как переключение. Вероятно, вы должны изменить uuid на сервере, чтобы он был таким же, как и раньше.
может ли это быть несоответствие формата рабочей копии? Он изменился между svn 1.4 и 1.5, и новые инструменты автоматически преобразуют формат, но затем старые больше не работают с преобразованной копией.
вы должны были удалить файл SVN-base из вашего проекта (которые являются файлами только для чтения). Из-за этого вы получаете эту ошибку.
Проверьте новый проект еще раз, объединить изменения (если таковые имеются) из вашего старого проекта SVN с Новым с помощью "Winmerge" и зафиксировать изменения в последней выписке.
@JesperE упоминает что вам нужно изменить uuid. Следующее должно помочь вам достичь этого.
на SVN 1.5+, вы можете сделать svnadmin setuuid; затем вы можете проверить, что он был установлен правильно с помощью svnlook uuid. В более ранних версиях SVN это более сложный процесс. См http://chestofbooks.com/computers/revision-control/subversion-svn/Managing-Repository-UUIDs-Reposadmin-Maint-Uuids.html
дополнительно UUID "m / reponame" выглядеть подозрительно. Я считаю, что это должно быть шестнадцатеричное число, такое как рабочая копия, поэтому, возможно, это действие улучшит все вокруг : -)
[Я первоначально прокомментировал @JesperE это, но создал этот ответ, чтобы сделать его более очевидным для людей и более полезным для Google. С тех пор я удалил свои комментарии. ]
была такая же проблема, оказывается, у нас был Slik 1.6.2, а также черепаха на той же машине. Tortoise был обновлен (и обновил рабочую копию) , но Slik этого не сделал, поэтому Tortoise работал нормально, но командные строки не сработали:
svn:'.'is not a working copy directory
удаление Tortoise и Slik, а затем переустановка Tortoise с включенными инструментами командной строки исправили это для меня.
для mac : - возьмите checkout со стороны сервера и откроется новое окно, чтобы выбрать каталог с вашего локального компьютера, чем поместить весь код в выбранную папку, а затем открыть локальную сторону svn и добавить и зафиксировать проект
сегодня я нашел тот же вопрос
/FILE_NAME/ is not a working copyутром, и я потратил более двух часов, чтобы решить ее. После долгого RND и Google я нашел какое-то решение, и этоCHECKOUT.
CHECKOUTСSUBVERSIONместные как новый проект.- измените часть кода в java-файле и зафиксируйте проект.
- это работает для меня.
надеюсь, что это будет полезно для вас.
удалить .папка svn, которая присутствует на вашем локальном компьютере. Нажмите значок windows и введите .svn, удалите всю папку. Это сработало для меня.
недавно я использовал других разработчиков Mac У меня была такая же ситуация, проблема была; сначала мне нужно было ввести путь get repo к терминалу, но я этого не сделал, чем он говорит, что такое ваше имя пользователя и пароль.
Comments