Общие типы рычагов подверсии

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

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

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
40
задан 4 revs, 3 users 100% 18 October 2012 в 11:56
поделиться

12 ответов

Я использую эти pre-revprop-change рычаг, который позволяет на самом деле возвращаться и редактировать комментарии и такую информацию после того, как фиксация была выполнена. Это очень полезно, если существует missing/errorneous информация в комментариях фиксации.

Здесь я отправляю pre-revprop-change.bat пакетный файл для Windows NT или позже... Можно, конечно, улучшить его с большим количеством модификаций. Можно также произойти post-revprop-change.cmd из него, чтобы скопировать старое snv:log где-нибудь или только добавить его к новому журналу...

единственная хитрая часть должна была быть в состоянии на самом деле проанализировать stdin от пакетного файла... Это сделано здесь с эти FIND.EXE команда.

другой это - то, что у меня были отчеты от других пользователей проблем с использованием /b с эти exit команда. Вы, возможно, должны только удалить это /b в Вашем определенном приложении, если ошибочные случаи не ведут себя хорошо.

@ECHO OFF

set repos=%1
set rev=%2
set user=%3
set propname=%4
set action=%5

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Only allow changes to svn:log. The author, date and other revision
:: properties cannot be changed
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if /I not '%propname%'=='svn:log' goto ERROR_PROPNAME

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Only allow modifications to svn:log (no addition/overwrite or deletion)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if /I not '%action%'=='M' goto ERROR_ACTION

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Make sure that the new svn:log message contains some text.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
set bIsEmpty=true
for /f "tokens=*" %%g in ('find /V ""') do (
 set bIsEmpty=false
)
if '%bIsEmpty%'=='true' goto ERROR_EMPTY

goto :eof



:ERROR_EMPTY
echo Empty svn:log properties are not allowed. >&2
goto ERROR_EXIT

:ERROR_PROPNAME
echo Only changes to svn:log revision properties are allowed. >&2
goto ERROR_EXIT

:ERROR_ACTION
echo Only modifications to svn:log revision properties are allowed. >&2
goto ERROR_EXIT

:ERROR_EXIT
exit /b 1 
64
ответ дан Craig McQueen 27 November 2019 в 01:25
поделиться

У меня есть одна установка, пользующаяся библиотекой Ruby Tinder, которую я отправляю в комнату походного костра, если кто-либо хочет сценарий, я могу отправить или отправить код Вам.

Другие общие, которые я видел, являются сообщениями к системам отслеживания ошибок и уведомлениям по электронной почте.

0
ответ дан jonezy 27 November 2019 в 01:25
поделиться

Мы используем сценарий рычага фиксации для инициирования нашего робота выпуска. Запись новой информации о выпуске в файл под названием changes.txt в наших различных продуктах инициирует создание тега и соответствующих артефактов.

0
ответ дан Johan Lübcke 27 November 2019 в 01:25
поделиться

Мы проверяем следующее с нашими сценариями рычага:

  • , Что сообщение журнала фиксации было предоставлено
  • , Что рецензент был определен для фиксации
  • , Которым никакой автоматически сгенерированный код или запрещенные типы файлов не кончают в репозитории
  • , Посылают электронное письмо, когда ответвление / тег создается

, Мы все еще хотим реализовать следующее:

  • Посылают электронное письмо, когда пользователь получает блокировку на файле
  • , Посылают электронное письмо, когда Ваша блокировка была украдена
  • , Посылают электронное письмо всем, когда свойство пересмотра было изменено
0
ответ дан Trumpi 27 November 2019 в 01:25
поделиться

Рычаг для уведомления системы управления ошибки/проблемы изменений в репозитории. Т.е. сообщение о фиксации имеет issue:546 или подобный тег в нем, который анализируется и питается к системе управления ошибки.

0
ответ дан kauppi 27 November 2019 в 01:25
поделиться

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

необходимо позволить сценарию рычага 'pre-revprop-change' позволить это. Пример, если, если включено позволяет редактировать только свойство комментария и только быть исходным разработчиком. Большой для исправления опечаток.

0
ответ дан Mark Renouf 27 November 2019 в 01:25
поделиться

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

  1. Как ведущий разработчик, я получаю свертку фиксаций каждое утро (через канал RSS от этого basecamp форум) и вижу то, что моя команда была готова довольно быстро.

  2. Наша установка Trac/SVN находится позади нашего брандмауэра, таким образом, это дает моим большим шишкам в других местоположениях окно в то, что мы делаем. Они не могли бы понять его, но менеджеру большое действие похоже, ну, в общем, на большое действие;)

я предполагаю, что конечный результат этого подобен тому, что делает @Aviv.

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

1
ответ дан Matt Miller 27 November 2019 в 01:25
поделиться

несколько вещей мы используем их для:

  • интеграция со средством отслеживания ошибки ( Trac в нашем случае - сообщение о фиксации, в котором говорятся 'Завершения № 514' автоматически, отмечает ту ошибку, как закрыто
  • интеграция с интеграцией сборки ( buildbot в нашем случае - фиксация к следившему ответвлению инициировала сборку
  • рычаг перед фиксацией для проверки фиксации - мы используем svnchecker. Это проверяет наш код Python для правильность PEP8
  • передающие письма регистрации к списку рассылки
  • под управлением сценарии добавления отступа
3
ответ дан Thomas Vander Stichele 27 November 2019 в 01:25
поделиться

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

3
ответ дан abyx 27 November 2019 в 01:25
поделиться

Мы используем FogBugz для отслеживания ошибок, он предоставляет сценарии фиксации подрывной деятельности, которые позволяют Вам включать номер дела в свою регистрацию комментариев, и затем связывает ошибку с регистрацией, которая зафиксировала его. Это действительно требует экземпляр WebSVN быть настроенным так, чтобы у Вас было веб-средство просмотра для Вашего репозитория.

5
ответ дан Nathan Black 27 November 2019 в 01:25
поделиться

Если у Вас есть соединение пользователей UNIX и пользователей Windows, работающих с репозиторием, я убеждаю Вас использовать случай-insensitive.py сценарий рычага перед фиксацией в качестве меры предосторожности. Это предотвращает hard-to-sort-out ситуации, где сбой обновлений svn для пользователей Windows из-за файла переименовывает, который только изменил случай имени файла . Верьте мне, существует хороший шанс, он сохранит Вас проблема.

8
ответ дан Troels Arvin 27 November 2019 в 01:25
поделиться

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

1
ответ дан clawrence 27 November 2019 в 01:25
поделиться
Другие вопросы по тегам:

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