Частичные фиксации с подверсией

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

99
задан eYe 16 March 2015 в 15:42
поделиться

6 ответов

С мерзавцем-svn можно сделать локальный репозиторий МЕРЗАВЦА удаленного репозитория SVN, работы с ним с помощью полного набора функций МЕРЗАВЦА (включая частичные фиксации) и затем пододвинуть все это обратно к репозиторию SVN.

мерзавец-svn (1)

34
ответ дан blahdiblah 24 November 2019 в 05:03
поделиться

Я сделал это использование TortoiseSVN.

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

Использование эти создает резервное копирование , функция различной утилиты

  1. Идет для фиксации файла, как будто Вы собирались фиксировать все свои изменения.
  2. В окне фиксации, дважды щелкают по файлу, чтобы показать различное
  3. В различных настройках, нажать опцию к , резервный исходный файл .
  4. Щелкает правой кнопкой по изменениям, которые Вы не хотите и используете выбор , используют другой текстовый блок .
  5. Сохраняют разность точно однажды . Резервное копирование будет перезаписано каждый раз, когда Вы сохраняете. Поэтому Вы только хотите сохранить однажды.
  6. Фиксация изменение.
  7. Перезапись оригинал с созданным .bak файлом (который будет иметь все Ваши исходные изменения).
  8. Фиксация Ваш файл.

у Вас должны теперь быть все свои фиксировавшие изменения, с помощью двух отдельных фиксаций.

41
ответ дан Kariem 24 November 2019 в 05:03
поделиться

Я раньше делал это:

  • В моем редакторе (я использую энергию), отредактируйте файл так, чтобы только одно из изменений появилось
  • , Сохранили файл (но не выходите из редактора)
  • Передают измененный файл Хиту svn
  • "отмена" в редакторе достаточно раз для второго набора изменений, вновь появляются
  • , Сохранили файл снова
  • Фиксация второй набор изменений.

Это - упрощенный подход, который предполагает, что один набор изменений довольно легко отменить. Для более сложных ситуаций я сдался бы и фиксировал бы оба изменения, не волнуясь об этом.

Теперь, когда я использую мерзавца, это - что-то, что я надеюсь, что никогда не должен буду делать снова!

7
ответ дан Greg Hewgill 24 November 2019 в 05:03
поделиться

Я использую или локальный 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 главному серверу; работает отлично в моем ограниченном опыте.

4
ответ дан Aeon 24 November 2019 в 05:03
поделиться
  1. Открытый все файлы Вы хотите разделить в предпочтительном редактором
  2. Используя различный комплект инструментальных средств (на Win, используйте предложение Spike (старая версия)) отступают второй набор
  3. , Фиксация
  4. возвращается к Вашему предпочтительному редактором и сохранила все файлы

, Это немного более опасно, чем полное предложение Spike, но может быть легче сделать. Также удостоверьтесь, что Вы пробуете его на чем-то еще сначала, поскольку некоторые редакторы откажутся сохранять по файлу, который изменился из-под них, если Вы не перезагружаете тот файл (теряющий все Ваши изменения)

2
ответ дан BCS 24 November 2019 в 05:03
поделиться

Попытайтесь использовать 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] и тест для проверки все хорошо.

24
ответ дан Chris 24 November 2019 в 05:03
поделиться
Другие вопросы по тегам:

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