Ошибка SVN - не рабочая копия - PullRequest
211 голосов
/ 17 декабря 2008

Недавно наш сервер SVN был изменен, и мы сделали переключатель SVN.

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

Но на самом верхнем уровне хранилища, когда я пытаюсь обновить файлы, я получаю svn: Working copy '.' заблокирован ошибка и очистка тоже не помогает. Когда я выполняю очистку, я получаю такие ошибки: svn: 'content' не является каталогом рабочей копии

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

EDIT: Последний абзац в ответе Джеспера

Если вы получаете «не рабочую копию», когда делаю рекурсивный "svn cleanup" мой думаю, у вас есть каталог которая должна быть рабочей копией (т.е. каталог .svn на верхнем уровне говорит так), но ему не хватает своего каталог .svn. В этом случае вы может попытаться просто удалить / переместить каталог, а затем сделать локальное обновление

кажется решением проблемы в репозитории. Я идентифицировал эти папки и сделал новую проверку этих отдельных папок, и ничего себе, блокировки снимаются при последующей очистке! Большое спасибо JesperE !!

Но я все еще не могу понять ошибку переключателя svn, которая теперь читает что-то вроде

SVN: хранилище в 'SVN: // repourl / reponame / имя_папки' имеет uuid 'm / reponame', но туалет имеет 'b5b39681-0ff6-784b-ad26-2846b9ea8e7d'

Есть идеи?

Ответы [ 21 ]

123 голосов
/ 17 декабря 2008

Если вы получаете "не рабочую копию" при выполнении рекурсии в нем отсутствует собственная директория .svn. В этом случае вы можете попытаться просто удалить / переместить этот каталог, а затем выполнить локальное обновление (т.е. rm -rf content; svn checkout content).

Если вы получаете ошибку not a working copy, это означает, что Subversion не может найти там правильный каталог .svn. Проверьте, есть ли каталог .svn в contents

Идеальным решением является, если возможно, свежая касса.

46 голосов
/ 02 июня 2009

Я попал в похожую ситуацию (svn: 'papers' is not a working copy directory) по-другому, поэтому я решил опубликовать свою историю сражений (упрощенно):

$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied

Oops! исправить разрешения ... тогда:

$ 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 (который работал для ОП) не помогли. Вот что я сделал:

$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers

Это сработало.

6 голосов
/ 20 января 2010

Я решил это

  1. Скопировать резервную копию затронутых папок
  2. SVN восстанавливает затронутые папки
  3. Вставьте файлы обратно из резервной копии

В моем случае проблема была связана с удаленными .svn-файлами.

5 голосов
/ 08 октября 2012

Может быть, вы просто скопировали дерево папки и пытаетесь добавить низшую.

SVN
|_
  |
  subfolder1
       |
       subfolder2   (here you get an error)

в этом случае вы должны зафиксировать каталог на верхнем уровне.

3 голосов
/ 17 декабря 2008

Обход: Переименовать каталог, который не является «рабочей копией» Оформить заказ / обновить / восстановить этот каталог снова Переместить файлы из переименованного каталога в новый Передать изменения

Причина: Вы внесли некоторые изменения в некоторые файлы в каталоге .svn, это нарушает «рабочую копию»

2 голосов
/ 28 декабря 2009

Если вы создали файл в новом каталоге, вместо 'svn add newdir / newfile' используйте 'svn add newdir', потому что вам нужно добавить каталог. Все файлы в каталоге будут добавлены по умолчанию.

1 голос
/ 01 декабря 2009

Я только что получил «не рабочую копию», и для меня причина была в автомотронах под Unix Просто новый "cd / path / to / work / directory" сделал свое дело.

1 голос
/ 06 марта 2010

То же самое, мне нужно было обновить папку 'contrib':

  1. Переместил старую папку,
  2. Скопировал новый
  3. Скопировал папки .svn в каждую (только три в моем случае) новую папку.

В моем случае проблема также была связана с удаленными папками .svn.

решаемая.

1 голос
/ 20 мая 2014

Я также сталкиваюсь с этой проблемой в операции svn diff, она была вызвана неверным путем к файлу, вам нужно добавить './', чтобы указать текущий каталог файлов.

1 голос
/ 05 февраля 2014

Я попытался вставить папку .svn из подпапки в корневую папку. Это работает !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...