В настоящее время мы используем 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, кажется, немного проще, но очень прост в использовании. На мой взгляд, у Джиры был приятный внешний вид и еще несколько колоколов и свистков, но временами было слишком много.