Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
С мерзавцем-svn можно сделать локальный репозиторий МЕРЗАВЦА удаленного репозитория SVN, работы с ним с помощью полного набора функций МЕРЗАВЦА (включая частичные фиксации) и затем пододвинуть все это обратно к репозиторию SVN.
Я сделал это использование TortoiseSVN.
созданный в утилите слияния позволяет Вам показывать разность между версией репозитория и Вашей рабочей копией.
Использование эти создает резервное копирование , функция различной утилиты
у Вас должны теперь быть все свои фиксировавшие изменения, с помощью двух отдельных фиксаций.
Я раньше делал это:
Это - упрощенный подход, который предполагает, что один набор изменений довольно легко отменить. Для более сложных ситуаций я сдался бы и фиксировал бы оба изменения, не волнуясь об этом.
Теперь, когда я использую мерзавца, это - что-то, что я надеюсь, что никогда не должен буду делать снова!
Я использую или локальный darcs repo, или просто объединяю изменения в постепенно. Со слиянием (opendiff открывает FileMerge, программа слияния, которая идет с XCode; замените своим любимым инструментом слияния):
cp file file.new
svn revert file
opendiff file.new file -merge file
объединяют связанные изменения, сохраняют слияние, выходят из программы
svn ci -m 'first hunk' file
mv file.new file
svn ci -m 'second hunk' file
слияния, если бы больше чем один несвязанный ломоть в файле, промойте и повторение (но почему Вы ожидали бы так долго перед фиксацией?!)
кроме того, если Вы знаете мерзавца, можно использовать мерзавец-svn , чтобы поддержать локального мерзавца repo и синхронизировать фиксации к svn главному серверу; работает отлично в моем ограниченном опыте.
, Это немного более опасно, чем полное предложение Spike, но может быть легче сделать. Также удостоверьтесь, что Вы пробуете его на чем-то еще сначала, поскольку некоторые редакторы откажутся сохранять по файлу, который изменился из-под них, если Вы не перезагружаете тот файл (теряющий все Ваши изменения)
Попытайтесь использовать svn diff > out.patch
, тогда копируют out.patch
файл к out.patch.add
и out.patch.modify
Только, когда у Вас есть рабочий файл исправления , возвращаются исходный файл с помощью svn revert out.c
.
Редактирование файлы исправления вручную так, чтобы они только содержали скряга для добавления или изменения. Примените их к исходному файлу с помощью эти patch
команда, тест, если дополнение работало, то svn commit
дополнение.
промывка Промывки повторяются для эти out.patch.modify
патч.
, Если изменения являются отдельными в файле, поскольку Ваш начальный указанный вопрос - добавил новый метод, изменил существующий метод - это будет работать
, Это - очень утомительное решение - хотя я не убежден, что у Вас должна быть любая причина разделить Ваши фиксации.
Вы также, возможно, проверили несколько рабочих копий того же источника для применения работы против:
svn co http://location/repository methodAdd
svn co http://location/repository methodModify
Быть уверенным [1 110] и тест для проверки все хорошо.