Это происходит просто, если вы пытаетесь рассматривать массив как строку:
$arr = array('foo', 'bar');
echo $arr; // Notice: Array to string conversion
$str = 'Something, ' . $arr; // Notice: Array to string conversion
Массив не может быть просто echo
'd или конкатенируется с строкой, потому что результат не определен. PHP будет использовать строку «Array» вместо массива и вызвать уведомление, чтобы указать, что это, вероятно, не то, что было предназначено, и что вы должны проверять свой код здесь. Вероятно, вы захотите что-то вроде этого:
echo $arr[0]; // displays foo
$str = 'Something ' . join(', ', $arr); //displays Something, foo, bar
Или зациклируйте массив:
foreach($arr as $key => $value) {
echo "array $key = $value";
// displays first: array 0 = foo
// displays next: array 1 = bar
}
Если это уведомление появляется где-то, чего вы не ожидаете, это означает переменную, которую вы мысль - это строка, на самом деле это массив. Это означает, что у вас есть ошибка в коде, которая делает эту переменную массивом вместо ожидаемой строки.
Если Вы добираетесь "не рабочая копия" при выполнении рекурсивного svn cleanup
, мое предположение - то, что у Вас есть каталог, который должен быть рабочей копией (т.е. .svn
, в каталоге на верхнем уровне говорится так), но это пропускает свое собственное .svn
каталог. В этом случае Вы могли попытаться просто удалить/переместить тот каталог и затем сделать локальное обновление (т.е. rm -rf content; svn checkout content
).
, Если Вы добираетесь not a working copy
ошибка, это означает, что Подверсия не может найти надлежащее .svn
каталог там. Проверьте, чтобы видеть, существует ли .svn
каталог в contents
, идеальное решение является новым контролем, если это возможно.
упоминания @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. Я с тех пор удалил свои комментарии.]
Вы, должно быть, удалили SVN - основной файл из Вашего проекта (которые являются файлами только для чтения). Из-за этого Вы получаете эту ошибку.
Выезд новый проект снова, объедините изменения (если таковые имеются) Вашего более старого проекта SVN с новым с помощью "Winmerge" и фиксируйте изменения в последнем выезде.
Это могло быть рабочее несоответствие формата копии? Это изменилось между svn 1.4 и 1.5, и более новые инструменты автоматически преобразовывают формат, но затем более старые больше не работают с преобразованной копией.
svn: репозиторий в 'svn://repourl/reponame/foldername' имеет uuid 'm/reponame', но туалет имеет 'b5b39681-0ff6-784b-ad26-2846b9ea8e7d'
, Каждая подверсия repo имеет уникальный идентификатор (uuid). Подверсия использует это, чтобы удостовериться, что repo является на самом деле тем же при выполнении вещей как переключение. Необходимо, вероятно, изменить uuid на сервере для совпадения с прежде.
Обходное решение: Переименуйте каталог, который 'не работает копия' Контроль/обновление/восстановление этот каталог снова файлы Перемещения от переименованного каталога до новых изменений Фиксации
Причина: Вы внесли некоторые изменения в некоторые файлы в соответствии с .svn каталогом, это повреждает 'рабочую копию'
Я сделал новый контроль от того же проекта до другого местоположения, затем скопировал .svn папку с него и заменил моей старой .svn папкой. После этого вызванный svn обновляют функцию, и все синхронизировалось правильно актуальное.
Я попал в аналогичную ситуацию ( svn: 'paper' не является каталогом рабочей копии
) другим способом, поэтому я решил опубликовать свою боевую историю ( упрощено):
$ 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
И даже перемещение документов
и запуск svn up
(который работал для OP) не исправил. Вот что я сделал:
$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers
Это сработало.
Я только что получил «не рабочую копию», и для меня причиной был Automouter на Unix. Просто новый «cd / path / to / work / directory» сделал свое дело.
Если вы создали файл в новой директории, вместо 'svn add newdir/new file' используйте 'svn add newdir', потому что вам нужно добавить эту директорию. По умолчанию все файлы внутри каталога будут добавлены.
.Я решил его с помощью
в моем случае проблема была вызвана удаленным .svn- файлы.
То же самое, мне нужно было обновить папку 'contrib':
В моем случае проблема была связана с удалением папок .svn.
Решено.