Насколько важна интеграция версий с вашим программным обеспечением отслеживания ошибок

В настоящее время мы используем FogBugz для отслеживания проблем и обнаружили, что все в порядке. Я ищу что-то еще, что может позволить конечным пользователям отслеживать свои дела вместе с нами. И что-то, что действительно хорошо работает с электронной почтой. Я нашел несколько альтернатив, которые поддерживают эти функции, но они не интегрируются с контролем версий. У нас есть все крючки SVN в туманном bugz, и мы их используем, но я не нашел их всех полезными. Кто-нибудь нашел действительно вескую причину для интеграции контроля версий с отслеживателями ошибок?

Ответ 1

Очевидно, что такая интеграция не является чем-то существенным для работы программного обеспечения. С небольшим количеством дисциплины каждая регистрация может сопровождаться номером ошибки вручную, и каждое разрешение ошибки может вручную добавить к нему тег управления версиями.

При прочих равных условиях, я лично всегда предпочитаю автоматизацию по "дисциплине пользователей", потому что последнее всегда рано или поздно будет вам снижать время от времени. Не потому, что пользователи являются злонамеренными или некомпетентными, а просто потому, что люди не могут быть на 100% предупреждены все время.

Ответ 2

Я считаю, что интеграция SVN с TRAC очень полезна. С помощью SVN-перехватчиков записывается в репозиторий с номером билета, вставляющим комментарий в билет с ссылкой на хорошее визуальное представление HTML номера версии, показывающее вставки, удаления и различия.

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

Ответ 3

Это абсолютно важно для нас.

Вот типичный журнал регистрации для одного из наших проектов (образец):

Make sure filedes is cleared in child list prior to reallocating

When p->child-filedes is > 0, the child list is active and can not
be collected.

[ Impact: Closes bug 123457 ]

Обратите внимание на строку [Impact:], которая также может быть "Relates-To", "Caused" или любое другое.

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

Хотя мы обычно используем Git и Mercurial, такие крючки будут работать (почти) с любыми VCS, особенно с проприетарными, которые не содержат какой-либо модульный плагин, который вам нужен.

Если вы думаете о своей системе ошибок как о другой части вашего VCS, ее очень легко увидеть, как они зависят друг от друга.

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

Ответ 4

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

И это также очень полезно для не-кодеров в организации, то есть для менеджеров и поддержки клиентов. Они могут найти ответы на такие вопросы, как "Когда и где была исправлена ​​эта ошибка"...

Ответ 5

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

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

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

FYI, Code Collaborator от SmartBear, Inc. отлично справляется с этим.

Ответ 6

Я обнаружил, что интеграция с управлением версиями чрезвычайно полезна для поддержки и управления несколькими версиями (стабильными, соединительными линиями разработки и т.д.) проекта.

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

Это не обязательно, но, безусловно, облегчает управление выпуском.

Я использовал SVN + Trac и Atlassian Jira с плагином Fisheye SVN и нашел, что оба инструмента очень хороши. Trac, кажется, немного проще, но очень прост в использовании. На мой взгляд, у Джиры был приятный внешний вид и еще несколько колоколов и свистков, но временами было слишком много.