Как Вы преодолеваете svn 'устаревшее' ошибка?

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

333
задан Jeffrey Bosboom 6 March 2015 в 13:00
поделиться

8 ответов

Я иногда получаю это с TortoiseSVN на окнах. Решение для меня к svn update каталог, даже при том, что нет никаких изменений загрузки или обновления. Это делает что-то к метаданным, которые волшебно фиксируют его.

627
ответ дан Michael 23 November 2019 в 00:43
поделиться

Вы перемещаете его с помощью svn mv, или всего mv? Я думаю с помощью всего mv, может вызвать эту проблему.

1
ответ дан Ryan Bigg 23 November 2019 в 00:43
поделиться

Выполните перемещение непосредственно в репозитории.

2
ответ дан Alexander 23 November 2019 в 00:43
поделиться

Вы уверены, что проверили голову и не более низкий пересмотр? Кроме того, Вы сделали обновление, чтобы удостовериться, что у Вас есть последняя версия?

существует дискуссия об этом по телефону http://svn.haxx.se/users/archive-2007-01/0170.shtml .

2
ответ дан jgreep 23 November 2019 в 00:43
поделиться

Как @Alexander-Klyubin предлагает, сделайте перемещение в репозитории. Это также будет намного быстрее, особенно если у Вас есть большой объем данных для перемещения, потому что Вы не должны будете передавать все эти данные по сети снова.

svn mv https://username@server/svn/old/ https://username@server/svn/new/

должен работать просто великолепно

4
ответ дан Aeon 23 November 2019 в 00:43
поделиться

Я полагаю, что эта проблема возникает из .svn файла. Это или неправильно в старом родителе, новом родителе или старом. Я попытался бы возвращаться назад к Вашей начальной точке. Используйте экспорт для получения чистой копии папки. Переместите чистую копию в новое местоположение, и используйте добавление и удалите, чтобы сделать перемещение. Это вручную делает то, что делает SVN, но он мог бы работать.

39
ответ дан Jim Deville 23 November 2019 в 00:43
поделиться

Пытался обновить локальную копию и вернуть рассматриваемый элемент, но по-прежнему получал ошибку «устарело». По какой-то причине это сработало:

svn update --force /path/to/dir/or/file
14
ответ дан 23 November 2019 в 00:43
поделиться

Это произошло, когда я обновил ветку более ранней версии, добавив файлы из основной ветки. Я использовал Windows Explorer для копирования папок из моей контрольной папки ствола и вставил их в свое представление Eclipse для контрольной папки ветки выпуска. Теперь проводник Windows был настроен так, чтобы не отображать «скрытые» файлы, начинающиеся с «.», Поэтому я не обращал внимания на все неправильные файлы .svn, вставляемые в папку проверки моей ветки выпуска. Угу!

Мое решение заключалось в том, чтобы удалить поврежденный проект Eclipse, проверить его еще раз, а затем более тщательно скопировать новые файлы. Я также изменил Windows, чтобы отображать «скрытые» файлы.

0
ответ дан 23 November 2019 в 00:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: